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.