获取自定义身份代理登录票据 - CreateLoginToken
功能介绍
该接口用于获取自定义身份代理登录票据logintoken。logintoken是系统颁发给自定义身份代理用户的登录票据,承载用户的身份、session等信息。调用自定义身份代理URL登录云服务控制台时,可以使用本接口获取的logintoken进行认证。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。
自定义身份代理登录票据logintoken默认有效期为10分钟,可设置范围为10分钟~12小时。
调试
您可以在API Explorer中调试该接口。
授权信息
当前API调用无需策略权限。
URI
POST /v3.0/OS-AUTH/securitytoken/logintokens
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 该字段内容填为“application/json;charset=utf8”。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 是 | Object | 认证信息。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| access | 是 | String | AK。 |
| secret | 是 | String | SK。 |
| id | 是 | String | 即临时安全凭证securitytoken。 支持使用自定义身份代理用户或普通用户获取的securitytoken换取logintoken,详情请参见:通过token获取临时访问密钥和securitytoken。 支持委托的方式,但获取securitytoken时,请求体中必须填写session_user.name参数,详情请参见:通过委托获取临时访问密钥和securitytoken。 |
| duration_seconds | 否 | Integer | 自定义身份代理登录票据logintoken的有效时间,时间单位为秒。默认10分钟,即600秒,取值范围10分钟~12小时。 说明:
|
响应参数
| 参数 | 参数类型 | 描述 |
|---|---|---|
| X-Subject-LoginToken | String | 签名后的logintoken。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| Object | 自定义身份代理登录票据信息。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| domain_id | String | 账号ID。 |
| expires_at | String | logintoken的过期时间。 |
| method | String | 认证方法。当认证用户为华为云用户时,该字段内容为“token”,当认证用户为自定义身份代理用户时,该字段内容为“federation_proxy”。 |
| user_id | String | 用户ID。 |
| user_name | String | 用户名。 |
| session_id | String | 会话ID。 |
| session_user_id | String | 自定义身份代理用户ID。 说明: 通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数时,会返回该字段。该字段的值即为session_user.name所填写的值。 |
| session_name | String | 自定义身份代理用户名。 说明: 通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数时,会返回该字段。该字段的值即为session_user.name所填写的值。 |
| Object | 被委托方用户信息。 说明: 通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数时,会返回该字段。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| Object | 被委托方用户所属账号信息。 | |
| name | String | 被委托方用户名。 |
| password_expires_at | String | 被委托方用户的密码过期时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
| id | String | 被委托方用户ID。 |
请求示例
获取自定义身份代理登录票据。
POST https://iam.myhuaweicloud.com/v3.0/OS-AUTH/securitytoken/logintokens {
"auth": {
"securitytoken": {
"access": "LUJHNN4WB569PGAP...",
"secret": "7qtrm2cku0XubixiVkBOcvMfpnu7H2mLN...",
"id": "gQpjbi1ub3J0a...",
"duration_seconds":"600"
}
}
} 响应示例
状态码为 201 时:
创建成功。
示例1:通过token获取临时访问密钥和securitytoken。
示例2:通过委托获取临时访问密钥和securitytoken且请求体中填写session_user.name参数。
- 示例 1
响应Header参数: X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...响应Body参数: { "logintoken": { "domain_id": "05262121fb00d5c30fbec013bc1...", "expires_at": "2020-01-20T08:18:36.447000Z", "method": "token", "user_id": "0526213b8a80d38a1f31c013ed...", "user_name": "IAMUser", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_id": "40b328b6683a41b9bf8e7185e..." } } - 示例 2
响应Header参数: X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...响应Body参数: { "logintoken": { "domain_id": "05262121fb00d5c30fbec01...", "expires_at": "2020-01-23T03:27:26.728000Z", "method": "federation_proxy", "user_id": "07826f367b80d2474ff9c013a...", "user_name": "IAMDomainA/IAMAgency", "session_id": "0012c8e6adda4ce787e90585d...", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_name": "SessionUserName", "assumed_by": { "user": { "domain": { "name": "IAMDomainB", "id": "0659ef9c9c80d4560f14c009ac..." }, "name": "IAMUserB", "password_expires_at": "2020-02-16T02:44:57.000000Z", "id": "0659ef9d4d00d3b81f26c009fe..." } } } }
返回值
| 返回值 | 描述 |
|---|---|
| 201 | 创建成功。 |
| 400 | 参数无效。 |
| 401 | 认证失败。 |
| 403 | 没有操作权限。 |
| 405 | 不允许的方法。 |
| 413 | 请求体过大。 |
| 500 | 内部服务错误。 |
| 503 | 服务不可用。 |
错误码
无