Obtención de un token de inicio de sesión
Función
Esta API se utiliza para obtener un token de inicio de sesión para iniciar sesión a través de un agente de identidad personalizado. Los tokens de inicio de sesión se emiten a los usuarios para que inicien sesión a través de agentes de identidad personalizados. Cada token de inicio de sesión contiene la identidad y la información de sesión de un usuario. Para iniciar sesión en una consola de servicio en la nube con una URL de agente de identidad personalizada, invoque a esta API para obtener un token de inicio de sesión para la autenticación.
Se puede invocar a la API utilizando tanto el punto de conexión global como los puntos de conexión específicos de la región. Para los puntos de conexión de IAM, consulte Regiones y puntos de conexión.
Por defecto, un token de inicio de sesión es válido durante 10 minutos. Puede establecer un período de validez de 10 minutos a 12 horas.
URI
POST /v3.0/OS-AUTH/securitytoken/logintokens
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Content-Type |
Sí |
String |
Rellene application/json;charset=utf8 en este campo. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Sí |
Object |
Información de autenticación. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
access |
Sí |
String |
AK. |
secret |
Sí |
String |
SK. |
id |
Sí |
String |
Token de seguridad temporal. Un token de inicio de sesión se puede obtener usando el token de seguridad de un usuario de agente de identidad personalizado o un usuario común. Para obtener más información, véase Obtención de una clave de acceso temporal y un token de seguridad a través de un token. Un token de seguridad se puede obtener mediante una agencia y el parámetro session_user.name debe especificarse en el cuerpo de la solicitud. Para obtener más información, consulte Obtención de una clave de acceso temporal y un token de seguridad a través de una delegación. |
duration_seconds |
No |
Integer |
Período de validez (segundos) del token de inicio de sesión. El valor oscila entre 10 minutos y 12 horas. El valor predeterminado es 10 minutos, es decir, 600 segundos.
NOTA:
|
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
X-Subject-LoginToken |
String |
Token de inicio de sesión firmado. |
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Información del token de inicio de sesión. |
Parámetro |
Tipo |
Descripción |
---|---|---|
domain_id |
String |
ID de cuenta. |
expires_at |
String |
Hora en que caducará el token de inicio de sesión. |
method |
String |
Método de autenticación. El valor es de federation_proxy para un usuario de agente de identidad personalizado y de token para un usuario de Huawei Cloud. |
user_id |
String |
ID de usuario. |
user_name |
String |
Nombre de usuario. |
session_id |
String |
ID de sesión. |
session_user_id |
String |
ID de un usuario de agente de identidad personalizado. |
session_name |
String |
Nombre de un usuario de agente de identidad personalizado.
NOTA:
Este parámetro se devolverá cuando obtenga una clave de acceso temporal y un token de seguridad mediante una delegación y especifique el parámetro session_user.name en el cuerpo de la solicitud. El valor de este parámetro es el valor de session_user.name. |
Object |
Información sobre la parte delegada.
NOTA:
Este parámetro se devolverá cuando obtenga una clave de acceso temporal y un token de seguridad mediante una delegación y especifique el parámetro session_user.name en el cuerpo de la solicitud. |
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Información sobre la parte delegada. |
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Información de cuenta delegada. |
|
name |
String |
Nombre de usuario de la parte delegada. |
password_expires_at |
String |
Tiempo de caducidad de la contraseña.
NOTA:
El valor es una hora UTC en el formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por ejemplo, 2023-06-28T08:56:33.710000Z. Para obtener más información sobre los formatos de fecha y hora, consulte ISO-8601. |
id |
String |
ID de usuario. |
Solicitud de ejemplo
Solicitud de obtención de un token de inicio de sesión a través de un agente de identidad personalizado
POST https://iam.myhuaweicloud.com/v3.0/OS-AUTH/securitytoken/logintokens
{ "auth": { "securitytoken": { "access": "LUJHNN4WB569PGAP...", "secret": "7qtrm2cku0XubixiVkBOcvMfpnu7H2mLN...", "id": "gQpjbi1ub3J0a...", "duration_seconds":"600" } } }
Ejemplo de respuesta
Código de estado: 201
La solicitud se ha realizado correctamente.
Ejemplo 1: Respuesta a la solicitud para obtener una clave de acceso temporal y un token de seguridad a través de un token
Ejemplo 2: Respuesta a la solicitud de obtención de una clave de acceso temporal y un token de seguridad a través de una agencia (con session_user.name en el cuerpo de la solicitud)
- Ejemplo 1
Parameters in the response header X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body { "logintoken": { "domain_id": "05262121fb00d5c30fbec013bc1...", "expires_at": "2020-01-20T08:18:36.447000Z", "method": "token", "user_id": "0526213b8a80d38a1f31c013ed...", "user_name": "IAMUser", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_id": "40b328b6683a41b9bf8e7185e..." } }
- Ejemplo 2
Parameters in the response header X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body { "logintoken": { "domain_id": "05262121fb00d5c30fbec01...", "expires_at": "2020-01-23T03:27:26.728000Z", "method": "federation_proxy", "user_id": "07826f367b80d2474ff9c013a...", "user_name": "IAMDomainA/IAMAgency", "session_id": "0012c8e6adda4ce787e90585d...", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_name": "SessionUserName", "assumed_by": { "user": { "domain": { "name": "IAMDomainB", "id": "0659ef9c9c80d4560f14c009ac..." }, "name": "IAMUserB", "password_expires_at": "2020-02-16T02:44:57.000000Z", "id": "0659ef9d4d00d3b81f26c009fe..." } } } }
Códigos de estado
Código de estado |
Descripción |
---|---|
201 |
La solicitud se ha realizado correctamente. |
400 |
Parámetros no válidos. |
401 |
Error de autenticación. |
403 |
Acceso denegado. |
405 |
El método especificado en la solicitud no está permitido para el recurso solicitado. |
413 |
La entidad solicitada es demasiado grande. |
500 |
Error de servidor interno. |
503 |
Servicio no disponible. |
Códigos de error
Ninguno