Updated on 2024-03-15 GMT+08:00

Authentication

API calling requests must be authenticated using tokens.

Token Authentication

The validity period of a token is 24 hours. When using a token for authentication, cache it to prevent frequently calling the IAM API for obtaining a user token.

A token specifies temporary permissions in a computer system. During API authentication using a token, the token is added to requests to get permissions for calling the API. Obtain it by calling the API for obtaining user token.

A cloud service can be deployed as either a project-level service or global service.

  • For a project-level service, obtain a project-level token. When you call the API, set auth.scope in the request body to project.
  • For a global service, obtain a global token. When you call the API, set auth.scope in the request body to domain.

Message & SMS is a project-level service. When you call the API for obtaining a user token, set auth.scope in the request body to project.

{
    "auth": {
        "identity": {
            "methods": [
                "password"
            ],
            "password": {
                "user": {
                    "name": "username",
                    "password": "********",
                    "domain": {
                        "name": "domainname"
                    }
                }
            }
        },
        "scope": {
            "project": {
                "name": "xxxxxxxx"
            }
        }
    }
}

After a token is obtained, the X-Auth-Token header field must be added to requests to specify the token when calling other APIs. For example, if the token is ABCDEFJ...., X-Auth-Token: ABCDEFJ.... should be added to a request as follows:

1
2
3
POST https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/projects
Content-Type: application/json
X-Auth-Token: ABCDEFJ....