获取联邦认证unscoped token(OpenID Connect ID token方式)
功能介绍
该接口可以用于通过OpenID Connect ID token方式获取联邦认证unscoped token。Unscoped token不能用来鉴权,您需要使用unscoped token通过接口获取联邦用户的临时访问密钥和securitytoken获取临时访问密钥和securitytoken,后续使用获取到的临时访问密钥和securitytoken作为凭证访问云服务。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。
调试
您可以在API Explorer中调试该接口。
URI
POST /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
idp_id |
是 |
String |
身份提供商名称。 |
|
protocol_id |
是 |
String |
协议id。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
Authorization |
是 |
String |
OpenID Connect身份提供商的ID Token,格式为Bearer {ID Token}。 |
响应参数
状态码为 201 时:
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
X-Subject-Token |
String |
签名后的Token。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
object |
获取的token详情。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
expires_at |
String |
过期时间。
说明:
UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
|
methods |
Array of strings |
token获取方式,联邦认证默认为mapped。 |
|
issued_at |
String |
生成时间。
说明:
UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
|
object |
用户详情。 |
|
|
Array of objects |
角色/策略详情。 |
|
|
Array of objects |
catalog详情。 |
请求示例
获取联邦认证unscoped token(OpenID Connect ID token方式)。
POST https://{address}/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth
响应示例
状态码为 201 时:
创建成功。
{
"token" : {
"expires_at" : "2018-03-13T03:00:01.168000Z",
"methods" : [ "mapped" ],
"issued_at" : "2018-03-12T03:00:01.168000Z",
"user" : {
"OS-FEDERATION" : {
"identity_provider" : {
"id" : "idptest"
},
"protocol" : {
"id" : "oidc"
},
"groups" : [ {
"name" : "admin",
"id" : "45a8c8f..."
} ]
},
"domain" : {
"id" : "063bb260a480...",
"name" : "IAMDomain"
},
"name" : "FederationUser",
"id" : "suvmgvUZc4PaCOEc..."
}
}
}
状态码为 400 时:
参数无效。
{
"error" : {
"code" : 400,
"message" : "Request parameter 'idp id' is invalid.",
"title" : "Bad Request"
}
}
状态码为 401 时:
认证失败。
{
"error" : {
"code" : 401,
"message" : "The request you have made requires authentication.",
"title" : "Unauthorized"
}
}
状态码为 403 时:
没有操作权限。
{
"error" : {
"code" : 403,
"message" : "You are not authorized to perform the requested action.",
"title" : "Forbidden"
}
}
状态码为 404 时:
未找到相应资源。
{
"error" : {
"code" : 404,
"message" : "Could not find %(target)s: %(target_id)s.",
"title" : "Not Found"
}
}
状态码为 500 时:
系统内部异常。
{
"error" : {
"code" : 500,
"message" : "An unexpected error prevented the server from fulfilling your request.",
"title" : "Internal Server Error"
}
}
状态码
|
状态码 |
描述 |
|---|---|
|
201 |
创建成功。 |
|
400 |
参数无效。 |
|
401 |
认证失败。 |
|
403 |
没有操作权限。 |
|
404 |
未找到相应资源。 |
|
500 |
系统内部异常。 |
错误码
请参见错误码。