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.
Actualización más reciente 2022-11-08 GMT+08:00

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 llamar 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 finales de IAM, consulte Regions y puntos de conexión.

  • Esta API se puede llamar usando la CLI. El cliente puede llamar 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

Tabla 1 Parámetros en el encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

Content-Type

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

String

ID de proveedor de identidad.

Tabla 2 Parámetros en el solicitud formData

Parámetro

Obligatorio

Tipo

Descripción

SAMLResponse

String

Cuerpo de respuesta que se devolverá si la autenticación IdP se realiza correctamente.

Realice el siguiente procedimiento para obtener una respuesta SAML:

  1. 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

  2. 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

Tabla 3 Parámetros en el encabezado de respuesta

Parámetro

Tipo

Descripción

X-Subject-Token

String

Token sin ámbito firmado.

Tabla 4 Parámetros en el cuerpo de respuesta

Parámetro

Tipo

Descripción

token

Object

Detalles del token sin ámbito.

Tabla 5 token

Parámetro

Tipo

Descripción

issued_at

String

Hora en que se emitió el token.

expires_at

String

Hora en que caducará el token.

methods

Array of strings

Método para obtener el token.

user

Object

Información sobre el usuario de IAM que solicita el token.

Tabla 6 token.user

Parámetro

Tipo

Descripción

domain

Object

Información sobre la cuenta utilizada para crear el usuario de IAM.

id

String

ID de usuario.

name

String

Nombre de usuario.

OS-FEDERATION

Object

Información de autenticación de identidad federada.

Tabla 7 token.user.domain

Parámetro

Tipo

Descripción

name

String

Nombre de cuenta.

id

String

ID de cuenta.

Tabla 8 token.user.OS-FEDERATION

Parámetro

Tipo

Descripción

groups

Array of objects

Información del grupo de usuarios.

identity_provider

Object

Información del proveedor de identidad.

protocol

Object

Información de protocolos.

Tabla 9 token.user.OS-FEDERATION.groups

Parámetro

Tipo

Descripción

id

String

ID de grupo de usuarios.

name

String

Nombre del grupo de usuarios.

Tabla 10 token.user.OS-FEDERATION.identity_provider

Parámetro

Tipo

Descripción

id

String

ID de proveedor de identidad.

Tabla 11 token.user.OS-FEDERATION.protocol

Parámetro

Tipo

Descripción

id

String

ID del protocolo.

Solicitud de ejemplo

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.

Parameters in the response header
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