Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Elastic Cloud Server/ Referencia de la API/ Ejemplos de aplicación/ Obtención de un token y comprobación del período de validez del token
Actualización más reciente 2022-11-08 GMT+08:00

Obtención de un token y comprobación del período de validez del token

Escenarios

El período de validez de un token es de 24 horas. Después de obtener un token, guárdelo para evitar llamadas frecuentes a la API. El token original seguirá siendo válido hasta que expire independientemente de si se ha obtenido un nuevo token. Asegúrese de que el token es válido cuando lo usa. El uso de un token que caducará pronto puede provocar fallos en las llamadas a la API.

Esta sección describe cómo obtener un token y comprobar su período de validez para resolver los errores de llamada a la API causados por la expiración del token.

Si el token está a punto de caducar, (no se puede completar una llamada a la API o un conjunto de llamadas a la API), necesita obtener un nuevo token para evitar que la llamada se interrumpa debido a la expiración del token.

Obtención de un Token

Necesitas obtener un token para la autenticación antes de llamar a una API. El valor X-Auth-Token en el encabezado de solicitud es el valor de token.

El siguiente es un ejemplo para mostrar cómo obtener el token de la región CN-Hong Kong.

  • Solicitud de URI: POST https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens
  • Encabezado de la solicitud: Content-Type=application/json
  • Solicitar cuerpo del mensaje:
    {
        "auth": {
            "identity": {
                "methods": [
                    "password"
                ],
                "password": {
                    "user": {
                        "name": "Enter a username",
                        "password": "Enter the password for login.",
                        "domain": {
                            "name": "Enter the account name."
                        }
                    }
                }
            },
            "scope": {
                "project": {
                    "name": "Enter a region name. In this example, the region is ap-southeast-1."
                }
            }
        }
    }

  • Para ver el token obtenido, haga clic en el encabezado de respuesta. El valor de x-subject-token es el token obtenido. Mantenga el token seguro porque se utilizará en el encabezado de solicitud para crear ECS.
    General:
       Request URL: https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens   Request Method: POST
       Status Code: 201
    Response Headers:
       cache-control: no-cache, no-store, must-revalidate
       connection: keep-alive
       content-length: 18401
       content-type: application/json; charset=UTF-8
       date: Thu, 27 May 2021 01:24:49 GMT
       expires: Thu, 01 Jan 1970 00:00:00 GMT
       pragma: no-cache
       server: api-gateway
       strict-transport-security: max-age=31536000; includeSubdomains;
       via: proxy A
       x-content-type-options: nosniff
       x-download-options: noopen
       x-frame-options: SAMEORIGIN
       x-iam-trace-id: token_ap-southeast-1_null_9bbec3983f3c7a5c146e709251760467   x-request-id: d7796611318416bc8ffb2948a47fede8
       x-subject-token: MIISMAYJKoZIhvcNAQ...7xMUw==
       x-xss-protection: 1; mode=block;
  • El valor expires_at en el cuerpo de la respuesta es el tiempo de expiración del token.
    {
    	"token": {
    		"expires_at": "2021-05-28T01:24:49.905000Z",
            ...
    	}
    }

Comprobación del período de validez del token

Al realizar una llamada a la API, el sistema comprueba si el período de validez del token es lo suficientemente largo. Si su aplicación ha almacenado el token en caché, se recomienda que el token se actualice cada 12 horas para asegurarse de que tiene un período de validez lo suficientemente largo.

Puede consultar el tiempo de caducidad de un token haciendo referencia a Verificar un Token.

El siguiente es un ejemplo para mostrar cómo verificar el token de la región CN-Hong Kong.

  • Solicitud de URI: GET https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens
  • Encabezado de solicitud:
    • Content-Type=application/json;charset=utf8
    • X-Auth-Token: Se requiere un token con permisos de Security Administrator si el administrator está solicitando verificar el token de un usuario de IAM.

      Se requiere el token de usuario (sin requisitos de permisos especiales) de un usuario de IAM si el usuario está solicitando verificar su propio token.

      Este ejemplo utiliza el usuario IAM y, por lo tanto, el X-Auth-Token es el mismo que el token que se va a verificar

    • X-Subject-Token: Token a verificar.
  • El valor expires_at en el cuerpo de la respuesta es el tiempo de expiración del token.

    Si el token está a punto de caducar, (no se puede completar una llamada a la API o un conjunto de llamadas a la API), necesita obtener un nuevo token para evitar que la llamada se interrumpa debido a la expiración del token.

    {
    	"token": {
    		"expires_at": "2021-05-28T01:24:49.905000Z",
            ...
    	}
    }