Obtaining a Scoped Token
Function
This API is used to obtain a scoped token through federated identity authentication.
The API can be called using both the global endpoint and region-specific endpoints.
URI
POST /v3/auth/tokens
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
Content-Type |
No |
String |
Fill application/json;charset=utf8 in this field. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
Yes |
Object |
Authentication information. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
Yes |
Object |
Authentication parameters. |
|
|
Yes |
Object |
Application scope of the token. The value can be project or domain. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
methods |
Yes |
Array of strings |
Authentication method. The value of this field is token. |
|
Yes |
Object |
Unscoped token information. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
No |
Object |
If this field is set to domain, the token can be used to access resources in all projects under the account of a specified ID or name. |
|
|
No |
Object |
If this field is set to project, the token can only be used to access resources in the project of a specified ID or name. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
id |
No |
String |
Account ID. Either id or name must be specified. |
|
name |
No |
String |
Account name. Either id or name must be specified. |
Response Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
X-Subject-Token |
String |
Signed scoped token. |
|
Parameter |
Type |
Description |
|---|---|---|
|
Object |
Details of the scoped token. |
|
Parameter |
Type |
Description |
|---|---|---|
|
methods |
Array of strings |
Method for obtaining the token. |
|
expires_at |
String |
Time when the token will expire.
NOTE:
The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssssZ format, for example, 2023-06-28T08:56:33.710000Z. For details about the date and timestamp formats, see ISO-8601. |
|
Array of objects |
Catalog information. |
|
|
Object |
Account information of the IAM user who requests for the token. This parameter is returned only when the scope parameter in the request body has been set to domain. |
|
|
Object |
Project information of the IAM user. This parameter is returned only when the scope parameter in the request body has been set to project. |
|
|
Array of objects |
Permissions information of the token. |
|
|
Object |
Information about the IAM user who requests for the token. |
|
|
issued_at |
String |
Time when the token was issued.
NOTE:
The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssssZ format, for example, 2023-06-28T08:56:33.710000Z. For details about the date and timestamp formats, see ISO-8601. |
|
Parameter |
Type |
Description |
|---|---|---|
|
type |
String |
Type of the service to which the API belongs. |
|
id |
String |
Service ID. |
|
name |
String |
Service name. |
|
Array of objects |
Endpoint information. |
|
Parameter |
Type |
Description |
|---|---|---|
|
url |
String |
Endpoint URL. |
|
region |
String |
Region to which the endpoint belongs. |
|
region_id |
String |
Region ID. |
|
interface |
String |
Visibility of the API. public indicates that the API is available for public access. |
|
id |
String |
Endpoint ID. |
|
Parameter |
Type |
Description |
|---|---|---|
|
name |
String |
Project name. |
|
id |
String |
Project ID. |
|
Object |
Account information of the project. |
|
Parameter |
Type |
Description |
|---|---|---|
|
name |
String |
Account name. |
|
id |
String |
Account ID. |
|
Parameter |
Type |
Description |
|---|---|---|
|
name |
String |
Permission name. |
|
id |
String |
Permission ID. The default value is 0, which does not correspond to any permission. |
|
Parameter |
Type |
Description |
|---|---|---|
|
Object |
Information about the account used to create the IAM user. |
|
|
Object |
Federated identity authentication information. |
|
|
id |
String |
User ID. |
|
name |
String |
Username. |
|
password_expires_at |
String |
Password expiration time. If this parameter is not specified, the password will never expire.
NOTE:
The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssssZ format, for example, 2023-06-28T08:56:33.710000Z. For details about the date and timestamp formats, see ISO-8601. |
|
Parameter |
Type |
Description |
|---|---|---|
|
name |
String |
Account name. |
|
id |
String |
Account ID. |
|
Parameter |
Type |
Description |
|---|---|---|
|
Array of objects |
User group information. |
|
|
Object |
Identity provider information. |
|
|
Object |
Protocol information. |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
User group ID. |
|
name |
String |
User group name. |
Example Request
Request for obtaining a scoped token
POST https://iam.myhuaweicloud.eu/v3/auth/tokens
{
"auth": {
"identity": {
"methods": [
"token"
],
"token": {
"id": "MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB..."
}
},
"scope": {
"domain": {
"id": "063bb260a480cecc0f36c0086bb6c..."
}
}
}
}
Example Response
Status code: 201
The request is successful.
Parameters in the response header X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body
{
"token": {
"expires_at": "2020-02-13T14:21:34.042000Z",
"methods": [
"token"
],
"catalog": [
{
"endpoints": [
{
"id": "d2983f677ce14f1e81cbb6a9345a107a",
"interface": "public",
"region": "*",
"region_id": "*",
"url": "https://iam.myhuaweicloud.eu/v3"
}
],
"id": "fd631b3426cb40f0919091d5861d8fea",
"name": "keystone",
"type": "identity"
}
],
"domain": {
"id": "06aa2260a480cecc0f36c0086bb6cfe0",
"name": "IAMDomain"
},
"roles": [
{
"id": "0",
"name": "te_admin"
},
{
"id": "0",
"name": "secu_admin"
}
],
"issued_at": "2020-02-12T14:21:34.042000Z",
"user": {
"OS-FEDERATION": {
"groups": [
{
"id": "06aa2260bb00cecc3f3ac0084a74038f",
"name": "admin"
}
],
"identity_provider": {
"id": "ACME"
},
"protocol": {
"id": "saml"
}
},
"domain": {
"id": "06aa2260a480cecc0f36c0086bb6cfe0",
"name": "IAMDomain"
},
"id": "LdQTDSC7zmJVIic3yaCbLBXDxPAdDxLg",
"name": "FederationUser",
"password_expires_at": ""
}
}
}
Status Codes
|
Status Code |
Description |
|---|---|
|
201 |
The request is successful. |
|
400 |
Invalid parameters. |
|
401 |
Authentication failed. |
|
403 |
Access denied. |
|
404 |
The requested resource cannot be found. |
|
500 |
Internal server error. |
|
503 |
Service unavailable. |
Error Codes
None
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.