IBM Cloud Docs
¿Por qué ha fallado mi solicitud de autenticación de SAML?

¿Por qué ha fallado mi solicitud de autenticación de SAML?

Detecta problemas con la autenticación de SAML.

¿Por qué no se puedo validar mi firma de mensajes SAML?

Al probar la aplicación, recibe el mensaje de error siguiente:

The SAML message signature could not be validated

Este error se produce cuando App ID no puede verificar la firma que ha enviado SAML.

Para resolver este problema, verifique que tiene Firma de entrada definido a Ninguna en la configuración.

¿Por qué falta el parámetro RelayState en mi respuesta de autenticación?

Falta el parámetro RelayState en la respuesta de autenticación.

App ID envía un parámetro opaco que se conoce como RelayState como parte de la solicitud de autenticación. Si no ve el parámetro en la respuesta, es posible que el proveedor de identidad no esté configurado para devolverlo correctamente. RelayState tiene el formato siguiente:

https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request&RelayState=token

Verifique que el proveedor de SAML está configurado para devolver el parámetro RelayState a App ID sin modificarlo en nada.

¿Por qué recibo un error sobre mi ID de nombre?

Cuando envía una solicitud de autenticación, recibe un error que está relacionado con el NameID.

App ID, como proveedor de servicios, define la forma en que el servicio y el proveedor de identidad identifican a los usuarios. Con App ID, los usuarios se identifican en la solicitud de autenticación NameID en el campo NameID, como se muestra en el ejemplo siguiente.

<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>

Para resolver el problema, asegúrese de que el NameID del proveedor de identidad tiene el formato de una dirección de correo electrónico. Verifique que todos los usuarios del registro del proveedor de identidades tengan un formato de dirección de correo electrónico válido. A continuación, verifique que el campo NameID esté correctamente definido para que siempre se devuelva un correo electrónico válido, incluso si los usuarios del registro tienen varios correos electrónicos.

Error al descifrar la respuesta

Recibe uno de los mensajes de error siguientes en respuesta a la solicitud de autenticación.

Mensaje de error 1:

Unexpectedly received an encrypted assertion. Please enable response encryption in your App ID SAML configuration.

Mensaje de error 2:

Could not decrypt SAML assertion. Ensure your SAML provider is configured with the App ID encryption.

Si el proveedor de identidad está configurado para cifrar, App ID se debe configurar para que firme las solicitudes de autenticación de SAML (AuthnRequest). A continuación, el proveedor de identidad debe estar configurado para esperar la configuración correspondiente. Puede recibir estos errores por una de las razones siguientes:

  • App ID no está configurado para esperar que la respuesta de SAML del proveedor de identidad esté cifrada.
  • App ID no puede descifrar correctamente las aserciones.

Si recibe el mensaje de error 1, verifique que la configuración de SAML está establecida para esperar una respuesta cifrada. De forma predeterminada, App ID no espera que la respuesta esté cifrada. Para configurar el cifrado, establezca el parámetro encryptResponse a true utilizando la API.

Si recibe el mensaje de error 2, asegúrese de que el certificado es correcto. Puede obtener el certificado de firma del archivo XML de metadatos de App ID. Asegúrese de utilizar la clave con <KeyDescriptor use="signing">. Verifique que el proveedor de identidad esté configurado para utilizar como algoritmo de firma de firmas.

Código de error del respondedor

Al enviar una solicitud de autenticación, recibirá el siguiente mensaje de error genérico:

urn:oasis:names:tc:SAML:2.0:status:Responder

Aunque App ID envía la solicitud de autenticación inicial, el proveedor de identidad debe llevar a cabo la autenticación de usuario y devolver la respuesta. Existen varias razones que pueden hacer que el proveedor de identidades produzca este mensaje de error.

Puede que vea el mensaje si su proveedor de identidad:

  • No puede encontrar ni verificar el nombre de usuario.
  • No admite el formato NameID definido en la solicitud de autenticación (AuthnRequest).
  • No admite el contexto de autenticación.
  • Requiere que la solicitud de autenticación se firme o que se utilice un algoritmo específico en la firma.

Para resolver el problema, verifique la configuración y el nombre de usuario. Verifique que tiene definido el contexto de autenticación correcto y las variables correctas. Compruebe si su solicitud debe firmarse de una forma específica.

Solicitud de autenticación no soportada

Recibirá un mensaje sobre una solicitud de autenticación no soportada.

Cuando App ID genera una solicitud de autenticación, puede utilizar el contexto de autenticación para solicitar la calidad de las aserciones de autenticación y SAML.

Para resolver el problema, puede actualizar el contexto de autenticación. De forma predeterminada, App ID utiliza la clase de autenticación urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport y la comparación exact. Puede actualizar el parámetro de contexto para que se ajuste a su caso de uso utilizando las API.

Error de firma de solicitud SAML

Recibe un error que afirma que no se puede verificar la solicitud de autenticación.

App ID se puede configurar para que firme la solicitud de autenticación SAML (AuthNRequest), pero el proveedor de identidad debe estar configurado para esperar la configuración correspondiente.

Para resolver el problema:

  • Verifique que IBM Cloud está configurado para firmar la solicitud de autenticación estableciendo el parámetro signRequest en true utilizando la API de SAML IdP. Puede comprobar si la solicitud de autenticación se firma examinando el URL de la solicitud. La firma se incluye como un parámetro de consulta. Por ejemplo, https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request&SigAlg=value&Signature=value&RelayState=token

  • Verifique que el proveedor de identidad esté configurado con el certificado correcto. Para obtener el certificado de firma, compruebe el archivo XML de metadatos de IBM Cloud que ha descargado desde el panel de control de IBM Cloud. Asegúrese de que utiliza la clave con <KeyDescriptor use="signing">.

  • Verifique que el proveedor de identidad esté configurado para utilizar como algoritmo de firma.

¿Por qué no coincide mi método de autenticación?

Recibe un mensaje que indica que el método de autenticación proporcionado no coincide con el método de autenticación solicitado.

Por ejemplo:

AADSTS75011: Authentication method ‘X509, Multifactor, X509Device’ by which the user authenticated with the service doesn't match requested authentication method 'Password, ProtectedTransport'.

Cuando App ID genera una solicitud de autenticación, el contexto de autenticación se utiliza para solicitar la calidad de la autenticación y las afirmaciones SAML.

Por defecto, App ID utiliza urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport y exact comparación en el authnContext como se documenta en Understanding SAML, mientras que usted está tratando de utilizar un método de autenticación diferente. En el ejemplo proporcionado se utiliza el método de autenticación X509, Multifactor.

Para resolver el problema, puede actualizar la configuración del contexto de autenticación para los valores class y comparison en SAML authnContext. Para actualizar el parámetro de contexto para adaptarlo a su caso de uso, puede utilizar la API.

Alternativamente, también puede establecer un authnContext en blanco en su configuración SAML como se muestra en el siguiente ejemplo.

  "authnContext": { }