更新时间:2023-12-08 GMT+08:00
Token认证
操作场景
当您使用Token认证方式调用API时,需要获取用户Token并在调用API时将Token值设置到调用请求的“X-Auth-Token”头域中。
调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。
- Token认证:通过Token认证调用请求。
- AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)对调用请求内容进行签名认证。
调用API示例
- 获取Token,并设置成环境变量,Token用于后续调用其他接口鉴权。
- 获取用户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接口:
- {iam_endpoint}请参见地区和终端节点获取。
- {user_name}和{password}分别替换为连接IAM服务器的用户名和密码。
- {project_id}为项目ID。在管理控制台,将鼠标移至用户名,在下拉列表中单击“我的凭证”,查看“项目ID”。
请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值,如下图所示:
图1 从返回消息的Header中获取X-Subject-Token
- 使用如下命令将token设置为环境变量,方便后续事项。
export Token={X-Subject-Token}
X-Subject-Token即为1.a获取到的token,命令示例如下:
export Token=MIIDkg******BZQMEAgEwg
- 获取用户Token,请求内容示例如下:
- 调用API,请参考认证前准备获取域名、请求方法和URL,并在请求消息头中增加“X-Auth-Token”,“X-Auth-Token”的取值为1中获取的Token。参数请根据实际情况填写。
curl -X 请求方法 域名+URL -H "x-auth-token: $Token" -vk
父主题: 使用IAM认证调用API