Obtención de un token sin alcance (IdP iniciado)
Función
Esta API se utiliza para obtener un token sin alcance a través de la autenticación de identidad federada iniciada por IdP.
Los tokens sin ámbito no se pueden utilizar para la autenticación. Un usuario federado solo se puede autenticar mediante un token de ámbito. Para obtener más información, consulte Obtención de un Token con alcance.
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.
- Esta API se puede invocar usando la CLI. El cliente puede invocar a esta API para obtener una respuesta SAML en modo de autenticación iniciada por IdP y obtener un token sin alcance a través de un navegador.
URI
POST /v3.0/OS-FEDERATION/tokens
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Content-Type |
Sí |
String |
El cliente debe utilizar un explorador para transferir los parámetros de respuesta SAML al servidor. Por lo tanto, establezca este parámetro en application/x-www-form-urlencoded. |
X-Idp-Id |
Sí |
String |
ID de proveedor de identidad. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
SAMLResponse |
Sí |
String |
Cuerpo de respuesta que se devolverá si la autenticación IdP se realiza correctamente. |
Realice el siguiente procedimiento para obtener una respuesta SAML:
- Visite https://idp.example.org/idp/profile/SAML2/Unsolicited/SSO?providerId=iam.example.com con un navegador.
idp.example.org: ID de entidad en los metadatos del IdP
iam.example.com: ID de entidad en los metadatos del SP
- En la página de inicio de sesión del proveedor de identidad mostrada, ingrese un nombre de usuario y luego haga clic en Login (se admite el inicio de sesión sin contraseña). En la nueva página que se muestra, presione F12 y haga clic en Accept. Obtenga la respuesta SAML de POST como se muestra en la siguiente figura.
Figura 1 Obtención de una respuesta SAML
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
X-Subject-Token |
String |
Token sin ámbito firmado. |
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Detalles del token sin ámbito. |
Parámetro |
Tipo |
Descripción |
---|---|---|
issued_at |
String |
Hora en que se emitió el token.
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. |
expires_at |
String |
Hora en que caducará el token.
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. |
methods |
Array of strings |
Método para obtener el token. |
Object |
Información sobre el usuario de IAM que solicita el token. |
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Información sobre la cuenta utilizada para crear el usuario de IAM. |
|
id |
String |
ID de usuario. |
name |
String |
Nombre de usuario. |
Object |
Información de autenticación de identidad federada. |
Parámetro |
Tipo |
Descripción |
---|---|---|
name |
String |
Nombre de cuenta. |
id |
String |
ID de cuenta. |
Parámetro |
Tipo |
Descripción |
---|---|---|
Array of objects |
Información del grupo de usuarios. |
|
Object |
Información del proveedor de identidad. |
|
Object |
Información de protocolos. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID de grupo de usuarios. |
name |
String |
Nombre del grupo de usuarios. |
Ejemplo de solicitud
Solicitud de obtención de un token sin alcance (IdP iniciado)
POST https://iam.myhuaweicloud.com/v3.0/OS-FEDERATION/tokens
SAMLResponse=PD94b...
Ejemplo de respuesta
Código de estado: 201
La solicitud se ha realizado correctamente.
Parámetros en el encabezado de respuesta X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body { "token": { "expires_at": "2020-02-13T14:21:34.042000Z", "methods": [ "mapped" ], "issued_at": "2020-02-12T14:21:34.042000Z", "user": { "OS-FEDERATION": { "identity_provider": { "id": "ACME" }, "protocol": { "id": "saml" }, "groups": [ { "id": "06aa22601502cec4a23ac0084a74038f", "name": "admin" } ] }, "domain": { "name": "IAMDomain", "id": "06ba0970a097acc0f36c0086bb6cfe0" }, "name": "FederationUser", "id": "LdUTYSC7zmJVIic3yaCbLBXDxPAdDxLg" } } }
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