获取联邦认证unscoped token(IdP initiated)
功能介绍
该接口可以用于通过IdP initiated的联邦认证方式获取unscoped token。
Unscoped token不能用来鉴权,您需要使用unscoped token通过接口获取联邦用户的临时访问密钥和securitytoken获取临时访问密钥和securitytoken,后续使用获取到的临时访问密钥和securitytoken作为凭证访问云服务。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。
- 该接口支持在命令行侧调用,需要客户端使用IdP initiated的联邦认证方式获取SAMLResponse,并采用浏览器提交表单数据的方式,获取unscoped token。
调试
您可以在API Explorer中调试该接口。
URI
POST /v3.0/OS-FEDERATION/tokens
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
Content-Type |
是 |
String |
客户端必须使用浏览器提交表单数据的方式向服务端传SAMLResponse参数,故该字段需取值如下:application/x-www-form-urlencoded |
|
X-Idp-Id |
是 |
String |
身份提供商ID。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
SAMLResponse |
是 |
String |
在IdP认证成功后返回的响应体。 |
SAMLResponse获取方式:
响应参数
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
X-Subject-Token |
String |
签名后的unscoped token。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
Object |
联邦认证的unscoped token信息。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
issued_at |
String |
token产生时间。
说明:
UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
|
expires_at |
String |
token到期时间。
说明:
UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
|
methods |
Array of strings |
获取token的方式。 |
|
Object |
获取token的用户信息。 |
请求示例
获取联邦认证unscoped token(IdP initiated)。
POST https://iam.myhuaweicloud.com/v3.0/OS-FEDERATION/tokens
SAMLResponse=PD94b...
响应示例
状态码为 201 时:
创建成功。
响应Header参数: X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
响应Body参数:
{
"token": {
"expires_at": "2020-02-13T14:21:34.042000Z",
"methods": [
"mapped"
],
"issued_at": "2020-02-12T14:21:34.042000Z",
"user": {
"OS-FEDERATION": {
"identity_provider": {
"id": "ACME"
},
"protocol": {
"id": "saml"
},
"groups": [
{
"id": "06aa22601502cec4a23ac0084a74038f",
"name": "admin"
}
]
},
"domain": {
"name": "IAMDomain",
"id": "06ba0970a097acc0f36c0086bb6cfe0"
},
"name": "FederationUser",
"id": "LdUTYSC7zmJVIic3yaCbLBXDxPAdDxLg"
}
}
}
返回值
|
返回值 |
描述 |
|---|---|
|
201 |
创建成功。 |
|
400 |
参数无效。 |
|
401 |
认证失败。 |
|
403 |
没有操作权限。 |
|
405 |
不允许的方法。 |
|
413 |
请求体过大。 |
|
500 |
内部服务错误。 |
|
503 |
服务不可用。 |
错误码
无
