
# Token认证
#### 操作场景
当您使用Token认证方式调用API时，需要获取用户Token并在调用API时将Token值设置到调用请求的"X-Auth-Token"头域中。
![](https://support.huaweicloud.com/devg-apig/public_sys-resources/note_3.0-zh-cn.png)
调用接口有如下两种认证方式，您可以选择其中一种进行认证鉴权。
- Token认证：通过Token认证调用请求。
- AK/SK认证：通过AK（Access Key ID）/SK（Secret Access Key）对调用请求内容进行签名认证。
 
#### 调用API示例
1. 获取Token，并设置成环境变量，Token用于后续调用其他接口鉴权。
   1. 获取用户Token，请求内容示例如下：
      ```
      curl -X POST https://{iam_endpoint}/v3/auth/tokens -H 'content-type: application/json' -d '{
      "auth": {
      "identity": {
      "methods": [
      "password"
      ],
      "password": {
      "user": {
      "name": "{user_name}",
      "domain": {
      "name": "{user_name}"
      },
      "password": "{password}"
      }
      }
      },
      "scope": {
      "project": {
      "id": "{project_id}"
      }
      }
      }
      }' -vk
      ```
      上述命令中，部分参数请参见以下说明进行修改，具体请参考《统一身份认证服务API参考》的[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口：
      - ***{iam_endpoint}*** 请参见[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。
      
      - **{** ***user_name}*** 和***{*** ***password}***分别替换为连接IAM服务器的用户名和密码。
      
      - ***{project_id}***为项目ID。在管理控制台，将鼠标移至用户名，在下拉列表中单击"我的凭证"，查看"项目ID"。
      
      
      请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值，如下图所示：
      图1从返回消息的Header中获取X-Subject-Token   
      ![](https://support.huaweicloud.com/devg-apig/zh-cn_image_0000002225090781.png "点击放大") 
   
   2. 使用如下命令将Token设置为环境变量，方便后续事项。 **export Token=*{*** ***X-Subject-Token** **}***
      **X-Subject-Token** 即为[1.a]获取到的Token，命令示例如下：
      ```
      export Token=MIIDkg******BZQMEAgEwg
      ```
      
    
2. 调用API，请参考[认证前准备](https://support.huaweicloud.com/devg-apig/apig-dev-180907066.html)获取域名、请求方法和URL，并在请求消息头中增加"X-Auth-Token"，"X-Auth-Token"的取值为[1]中获取的Token。参数请根据实际情况填写。
   ```
   curl -X 请求方法 域名+URL  -H "x-auth-token: $Token" -vk
   ```
   
 
