统一身份认证服务 IAM-构造请求:请求消息体
请求消息体
请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。
每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。
对于获取 IAM 用户Token(使用密码)接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,********为用户的登录密码,domainname为用户所属的账号名称,如果是账号本身获取token,username和domainname填为一致,xxxxxxxxxxxxxxxxxx为project的ID,获取方法请参见获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。
scope参数定义了Token的作用范围,取值为project或domain,示例中取值为project,表示获取的Token仅能访问指定project下的资源,取值为domain时,表示获取的token可以访问指定账号下所有资源,scope参数的详细说明,请参见:获取IAM用户Token(使用密码)。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxxxxxxxxxxxx" } } } }
到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取IAM用户Token(使用密码)接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。