获取联邦认证unscoped token(IdP initiated) - CreateUnscopeTokenByIdpInitiated
功能介绍
该接口可以用于通过IdP initiated的联邦认证方式获取unscoped token。
Unscoped token不能用来鉴权,您需要使用unscoped token通过接口获取联邦用户的临时访问密钥和securitytoken获取临时访问密钥和securitytoken,后续使用获取到的临时访问密钥和securitytoken作为凭证访问云服务。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。

- 该接口支持在命令行侧调用,需要客户端使用IdP initiated的联邦认证方式获取SAMLResponse,并采用浏览器提交表单数据的方式,获取unscoped token。
调试
您可以在API Explorer中调试该接口。
授权信息
当前API调用无需策略权限。
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 | 服务不可用。 |
错误码
无


