校验Token的有效性
功能介绍
该接口可以用于管理员校验本账号中IAM用户token的有效性,或IAM用户校验自己token的有效性。管理员仅能校验本账号中IAM用户token的有效性,不能校验其他账号中IAM用户token的有效性。如果被校验的token有效,则返回该token的详细信息。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。
调试
您可以在API Explorer中调试该接口。
URI
GET /v3/auth/tokens
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
nocatalog |
否 |
String |
如果设置该参数,返回的响应体中将不显示catalog参数。任何非空字符串都将解释为true,并使该字段生效。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
该字段内容填为“application/json;charset=utf8”。 |
X-Auth-Token |
是 |
String |
管理员校验本账号中IAM用户的token的有效性:拥有Security Administrator权限的token。 IAM用户校验自己token的有效性:该IAM用户的token(无需特殊权限)。 |
X-Subject-Token |
是 |
String |
待校验的token。 |
请求示例
校验Token的有效性。
GET https://iam.myhuaweicloud.com/v3/auth/tokens
响应参数
参数 |
参数类型 |
描述 |
---|---|---|
X-Subject-Token |
String |
已校验的token。 |
参数 |
参数类型 |
描述 |
---|---|---|
Object |
获取到的token信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
Array of objects |
服务目录信息。 |
|
Object |
被校验token的IAM用户所属的账号信息。如果获取token时请求体中scope参数设置为domain,则返回该字段。 |
|
expires_at |
String |
token过期时间。
说明:
UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
issued_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的IAM用户所属账号的项目信息。如果获取token时请求体中scope参数设置为project,则返回该字段。 |
|
Array of objects |
token的权限信息。 |
|
Object |
获取token的IAM用户信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
Array of objects |
终端节点。 |
|
id |
String |
服务ID。 |
name |
String |
服务名称。 |
type |
String |
该接口所属服务。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
终端节点ID。 |
interface |
String |
接口类型,描述接口在该终端节点的可见性。值为“public”,表示该接口为公开接口。 |
region |
String |
终端节点所属区域。 |
region_id |
String |
终端节点所属区域ID。 |
url |
String |
终端节点的URL。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
IAM用户名。 |
id |
String |
IAM用户ID。 |
password_expires_at |
String |
密码过期时间,“”表示密码不过期。
说明:
UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 |
Object |
IAM用户所属的账号信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
IAM用户所属账号名称。 |
id |
String |
IAM用户所属账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 |
响应示例
状态码为 200 时:
请求成功。
响应Header参数: X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
响应Body参数:
{
"token": {
"expires_at": "2020-01-04T09:08:49.965000Z",
"methods": [
"password"
],
"catalog": [
{
"endpoints": [
{
"id": "33e1cbdd86d34e89a63cf8ad16a5f49f",
"interface": "public",
"region": "*",
"region_id": "*",
"url": "https://iam.myhuaweicloud.com/v3.0"
}
],
"id": "100a6a3477f1495286579b819d399e36",
"name": "iam",
"type": "iam"
},
{
"endpoints": [
{
"id": "29319cf2052d4e94bcf438b55d143832",
"interface": "public",
"region": "*",
"region_id": "*",
"url": "https://bss.sample.domain.com/v1.0"
}
],
"id": "c6db69fabbd549908adcb861c7e47ca4",
"name": "bssv1",
"type": "bssv1"
}
],
"domain": {
"id": "d78cbac186b744899480f25bd022f468",
"name": "IAMDomain"
},
"roles": [
{
"id": "0",
"name": "te_admin"
},
{
"id": "0",
"name": "secu_admin"
},
{
"id": "0",
"name": "te_agency"
}
],
"issued_at": "2020-01-03T09:08:49.965000Z",
"user": {
"domain": {
"id": "d78cbac186b744899480f25bd022f468",
"name": "IAMDomain"
},
"id": "7116d09f88fa41908676fdd4b039e95b",
"name": "IAMUser",
"password_expires_at": ""
}
}
}
状态码为 404 时:
未找到相应的资源。
{ "error": { "code": 404, "message": "X-Subject-Token is invalid in the request", "title": "Not Found" } }
返回值
返回值 |
描述 |
---|---|
200 |
请求成功。 |
401 |
认证失败。 |
403 |
没有操作权限。 |
404 |
未找到相应的资源。 |
500 |
内部服务错误。 |
错误码
无