Por que minha solicitação de autenticação SAML falhou?
Você tem problemas com a autenticação SAML.
Por que minha assinatura de mensagem SAML não é validada?
Ao testar o seu aplicativo, você recebe a mensagem de erro a seguir:
The SAML message signature could not be validated
Esse erro ocorre quando o App ID não pode verificar a assinatura que é enviada pelo SAML.
Para resolver o problema, verifique se você tem a Assinatura de entrada configurada como Nenhum em sua configuração.
Por que o parâmetro RelayState está ausente de minha resposta de autenticação?
O parâmetro RelayState está ausente em sua resposta de autenticação.
O App ID envia um parâmetro opaco que é conhecido como RelayState como parte da solicitação de autenticação. Se você não vir o parâmetro em sua resposta, seu provedor de identidade poderá não estar configurado para retorná-lo corretamente.
O RelayState usa o formato a seguir.
https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request&RelayState=token
Verifique se o seu provedor SAML está configurado para retornar o parâmetro RelayState para o App ID sem modificá-lo de nenhuma maneira.
Por que estou recebendo um erro sobre o meu ID de nome?
Quando você envia uma solicitação de autenticação, você recebe um erro que considera o NameID.
O App ID, como o provedor de serviços, define a maneira com que os usuários são identificados pelo serviço e pelo provedor de identidade. Com o App ID, os usuários são identificados na solicitação de autenticação NameID no campo
NameID, conforme mostrado no exemplo a seguir.
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
Para resolver o problema, certifique-se de que seu provedor de identidade NameID seja formatado como um endereço de e-mail. Verifique se todos os usuários em seu registro de provedor de identidade têm um formato de endereço de e-mail
válido. Em seguida, verifique se o campo NameID está corretamente definido para que um e-mail válido seja sempre retornado, mesmo que os usuários em seu registro tenham vários e-mails.
Falha ao decriptografar a resposta
Você recebe uma das mensagens de erro a seguir em resposta à sua solicitação de autenticação.
Mensagem de erro 1:
Unexpectedly received an encrypted assertion. Please enable response encryption in your App ID SAML configuration.
Mensagem de erro 2:
Could not decrypt SAML assertion. Ensure your SAML provider is configured with the App ID encryption.
Se o seu provedor de identidade estiver configurado para criptografar, o App ID deverá ser configurado para assinar as solicitações de autenticação SAML (AuthnRequest). Em seguida, seu provedor de identidade deve ser configurado para esperar a configuração correspondente. Você pode receber esses erros por causa de uma das razões a seguir:
- O App ID não está configurado para esperar que a resposta SAML do provedor de identidade esteja criptografada.
- O App ID não pode decriptografar corretamente suas asserções.
Se você receber a mensagem de erro 1, verifique se a configuração do SAML está definida para esperar uma resposta criptografada. Por padrão, o App ID não espera que a resposta seja criptografada. Para definir a criptografia, configure o parâmetro
encryptResponse como true usando a API.
Se você receber a mensagem de erro 2, assegure-se de que seu certificado esteja correto. É possível obter o certificado de assinatura do arquivo XML de metadados do App ID. Assegure-se de usar a chave com <KeyDescriptor use="signing">.
Verifique se o seu provedor de identidade está configurado para usar `` como o algoritmo de assinatura.
Código de erro do respondente
Ao enviar uma solicitação de autenticação, você receberá a seguinte mensagem de erro genérica:
urn:oasis:names:tc:SAML:2.0:status:Responder
Embora o App ID envie a solicitação de autenticação inicial, o provedor de identidade deve executar a autenticação do usuário e retornar a resposta. Há várias razões que podem fazer com que o seu provedor de identidade produza essa mensagem de erro.
Você poderá ver a mensagem se seu provedor de identidade:
- Não é possível localizar ou verificar o nome do usuário.
- Não suporta o formato
NameIDque é definido na solicitação de autenticação (AuthnRequest). - Não suporta o contexto de autenticação.
- Requer que a solicitação de autenticação seja assinada ou use um algoritmo específico na assinatura.
Para resolver o problema, verifique sua configuração e seu nome de usuário. Verifique se você tem o contexto de autenticação correto e as variáveis definidas. Verifique se a sua solicitação precisa ser assinada de uma forma específica.
Solicitação de autenticação não suportada
Você recebe uma mensagem sobre uma solicitação de autenticação não suportada.
Quando o App ID gera uma solicitação de autenticação, ele pode usar o contexto de autenticação para solicitar a qualidade das asserções de autenticação e SAML.
Para resolver o problema, é possível atualizar seu contexto de autenticação. Por padrão, o App ID usa a classe de autenticação urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport e a comparação exact.
É possível atualizar o parâmetro de contexto para ajustar seu caso de uso usando as APIs.
Falha na assinatura da solicitação SAML
Você recebe um erro que indica que uma solicitação de autenticação não pode ser verificada.
O App ID pode ser configurado para assinar a solicitação de autenticação SAML (AuthNRequest), mas seu provedor de identidade deve ser configurado para esperar a configuração correspondente.
Para resolver o problema:
-
Verifique se o IBM Cloud está configurado para assinar a solicitação de autenticação configurando o parâmetro
signRequestcomotrueusando a API de set SAML IdP. É possível verificar se a sua solicitação de autenticação está assinada consultando a URL de solicitação. A assinatura é incluída como um parâmetro de consulta. Por exemplo,https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request&SigAlg=value&Signature=value&RelayState=token -
Verifique se seu provedor de identidade está configurado com o certificado correto. Para obter o certificado de assinatura, verifique o arquivo XML de metadados IBM Cloud que você transferiu por download do painel IBM Cloud. Assegure-se de usar a chave com
<KeyDescriptor use="signing">. -
Verifique se seu provedor de identidade está configurado para usar `` como o algoritmo de assinatura.
Por que meu método de autenticação não corresponde?
Você recebe uma mensagem informando que o método de autenticação fornecido não corresponde ao método de autenticação solicitado.
Por exemplo:
AADSTS75011: Authentication method ‘X509, Multifactor, X509Device’ by which the user authenticated with the service doesn't match requested authentication method 'Password, ProtectedTransport'.
Quando o site App ID gera uma solicitação de autenticação, o contexto de autenticação é usado para solicitar a qualidade da autenticação e as afirmações do site SAML.
Por padrão, App ID usa urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport e exact comparação no authnContext conforme documentado em Understanding SAML,
enquanto você estiver tentando usar um método de autenticação diferente. No exemplo fornecido, o método de autenticação X509, Multifactor é usado.
Para resolver o problema, você pode atualizar a configuração do contexto de autenticação para os valores class e comparison no site SAML authnContext. Para atualizar o parâmetro de contexto de acordo com
seu caso de uso, você pode usar a API.
Como alternativa, você também pode definir um authnContext em branco em sua configuração SAML, conforme mostrado no exemplo a seguir.
"authnContext": { }