Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Como soluciono erros de resposta do SAML inválidos que os usuários recebem quando se federam no Amazon Cognito?
Quero resolver os erros que os usuários recebem quando se federam no Amazon Cognito com SAML 2.0.
Resolução
Revisar respostas do SAML
Em seu navegador, revise a resposta do SAML que seu provedor de identidades (IdP) enviou ao Amazon Cognito.
Observação: o elemento SAMLResponse contém a resposta codificada em base64. Se você ver uma porcentagem (%) de caracteres na carga útil, a resposta será codificada em URL e em base64. Nesse caso, execute a decodificação de URL no valor SAMLResponse e aplique a decodificação base64.
Verificar mapeamentos de atributos
"The attribute is required"
Se você receber a seguinte mensagem de erro:
"Invalid SAML response received: Invalid user attributes: <attribute_name>: The attribute is required"
Para solucionar esse problema, realize as etapas a seguir:
- Abra o console do Amazon Cognito.
- No painel de navegação, escolha Grupos de usuários e selecione seu grupo de usuários.
- Em Experiência de inscrição, observe os atributos necessários que você configurou.
- Verifique se você configurou mapeamentos de atributos em seu grupo de usuários. Se você não mapeou seus atributos, especifique os mapeamentos de atributos.
- Recupere a resposta do SAML em seu navegador.
- No campo AttributeStatement, verifique se o IdP inclui os atributos necessários.
- Na configuração de mapeamento de atributos do seu IdP, confirme se você configurou seu IdP para enviar os atributos necessários com os mapeamentos corretos.
Observação: seu IdP pode usar nomes simples para mapeamentos de atributos, como endereço de e-mail ou formato de URL. Um exemplo de nome de atributo formatado em URL é http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress.
"Required attribute cannot be deleted"
Se você receber a seguinte mensagem de erro:
"Invalid SAML response received: Invalid user attributes: <attribute_name>: Required attribute cannot be deleted"
Esse erro ocorre quando o IdP define um atributo obrigatório como nulo, exclui um atributo obrigatório ou remove um mapeamento de atributos após a criação do usuário.
Para resolver esse problema, mapeie todos os atributos necessários e configure o IdP para enviar valores corretos para os atributos.
Para mais informações, consulte Things to know about mappings (O que é preciso saber sobre mapeamentos).
Verificar se há atributos imutáveis
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Se você receber a seguinte mensagem de erro:
"Invalid SAML response received: Invalid user attributes: <attribute_name>: Attribute cannot be updated"
Esse erro ocorre quando o IdP passa um atributo mapeado para um atributo imutável do Amazon Cognito. Depois de criar um grupo de usuários, não é possível alterar a mutabilidade do atributo.
Para solucionar esse problema, realize as etapas a seguir:
- Execute o seguinte comando describe-user-pool:
Observação: substitua USER-POOL-ID pelo ID do grupo de usuários.aws cognito-idp describe-user-pool --user-pool-id USER-POOL-ID --query 'UserPool.SchemaAttributes[?Mutable==`false`].Name' - Na saída do comando, observe todos os atributos imutáveis.
- Abra o console do Amazon Cognito.
- Nos mapeamentos de atributos SAML para seu IdP, verifique se seus atributos SAML são mapeados para os atributos imutáveis do Amazon Cognito. Se um atributo SAML for mapeado para um atributo imutável, exclua o mapeamento.
Observação: se você precisar mapear o atributo SAML, mapeie-o para um atributo mutável existente. Também é possível criar um atributo mutável personalizado que pode ser mapeado para o atributo SAML.
Se precisar de um atributo mapeado, crie um novo grupo de usuários com as configurações de mutabilidade corretas e importe seus usuários para o novo grupo de usuários.
Comparar os valores entre a resposta do SAML e o arquivo XML de metadados do IdP
Se você receber a seguinte mensagem de erro:
"Invalid SAML response received: SAML Response signature is invalid"
Esse erro ocorre quando seu IdP atualiza seu certificado de assinatura SAML. A atualização cria uma incompatibilidade entre os valores de X509Certificate em sua resposta do SAML e no arquivo XML de metadados do IdP.
Para solucionar esse problema, realize as etapas a seguir:
- Baixe o arquivo de metadados mais recente na página de configuração da aplicação do seu IdP.
Observação: se seu IdP oferecer metadados SAML por meio de uma URL pública, é possível anotar o URL do documento de metadados e inserir o URL público. - Abra o console do Amazon Cognito.
- Nas configurações do seu SAML IdP, substitua o arquivo de metadados existente pelo novo.
Verificar o ID e o URN da entidade
Você recebe uma das seguintes mensagens de erro:
"Invalid SAML response received: Audience restriction in SAML Assertion does not allow it for urn:amazon:cognito:sp:xxxxxxxx"
-ou-
"Invalid SAML response received: Application with identifier 'urn:amazon:cognito:sp:xxxxxxxx' was not found"
Esses erros ocorrem quando você configura um ID de entidade incorreta no seu IdP ou usa o Nome de Recurso Uniforme (URN) de outro grupo de usuários.
Para solucionar esse problema, realize as etapas a seguir:
- Abra o console do Amazon Cognito.
- No painel de navegação, escolha Grupos de usuários e selecione o grupo de usuários que você deseja configurar para integração com SAML.
- No painel de navegação, escolha Visão geral e anote o ID do grupo de usuários.
- Nas configurações da aplicação SAML do IdP, defina o ID da entidade no formato urn:amazon:cognito:sp:USER-POOL-ID.
Observação: substitua USER-POOL-ID pelo ID do seu grupo de usuários do Amazon Cognito.
Verificar a configuração do URL do Assertion Consumer Service (ACS) do IdP
Se você receber a seguinte mensagem de erro:
“An error was encountered with the requested page”
Você vê esse erro na página de login gerenciado do Amazon Cognito ao configurar incorretamente o URL do Assertion Consumer Service (ACS) do seu IdP. O Amazon Cognito só oferece suporte à vinculação POST para o endpoint. Seu IdP deve enviar respostas SAML na solicitação POST para o endpoint. Se você configurar incorretamente o URL na aplicação do seu IdP, seu IdP enviará a resposta do SAML para um endpoint incorreto.
Para resolver esse problema, configure a aplicação do seu IdP com o formato de URL do ACS correto.
Um exemplo de formato para um domínio padrão do grupo de usuários do Amazon Cognito é https://YOUR-USER-POOL-DOMAIN.auth.REGION.amazoncognito.com/saml2/idpresponse.
Um exemplo de formato para um domínio de grupo de usuários personalizado é https://YOUR-USER-POOL-DOMAIN/saml2/idpresponse.
Observação: substitua YOUR-USER-POOL-DOMAIN pelo domínio do seu grupo de usuários.
Confirmar o tipo de login que o IdP suporta
Você recebe uma das seguintes mensagens de erro:
"An error was encountered with the requested page: Invalid relayState from identity provider"
-ou-
"An error was encountered with the requested page: Invalid samlResponse or relayState from identity provider"
Esses erros ocorrem nos fluxos de login SAML iniciados pelo IdP e iniciados pelo provedor de serviços (iniciados pelo SP) pelos seguintes motivos:
- O IdP definiu o parâmetro RelayState como nulo na resposta do SAML ao Amazon Cognito.
- Você usou a mesma aplicação de IdP com um grupo de usuários diferente. Como resultado, o URL do ACS na solicitação do SAML não corresponde ao URL do ACS na configuração da aplicação do seu IdP.
Observação: para fluxos de login SAML iniciados pelo SP, o Amazon Cognito inclui um parâmetro RelayState na solicitação de autenticação para seu IdP. Após a autenticação, seu IdP deve retornar o parâmetro RelayState para o Amazon Cognito. Para fluxos de login SAML iniciados pelo IdP, seu IdP deve incluir um parâmetro RelayState com a declaração SAML para o endpoint /saml2/idpresponse.
Para resolver problemas do RelayState, determine se o seu IdP SAML suporta somente o login SAML iniciado pelo SP ou o login SAML iniciado pelo IdP e pelo SP.
Se o seu IdP oferecer suporte a fluxos de login SAML iniciados pelo SP, inicie seu fluxo de autenticação no Amazon Cognito para iniciar a solicitação de federação. É possível usar o endpoint de login gerenciado /login que redireciona os usuários para o endpoint de login. Ou use o endpoint de redirecionamento e autenticação /oauth2/authorize.
Se seu IdP suportar fluxos de login SAML iniciados por IdP, configure seu IdP SAML com o parâmetro RelayState no formato identity_provider=ID-PROVIDER-NAME&client_id=CLIENT-ID&redirect_uri=CALLBACK-URL&response_type=code&scope=openid+email+phone.
Observação: substitua ID-PROVIDER-NAME pelo nome do seu IdP SAML. Além disso, substitua CLIENT-ID pelo ID do cliente de aplicação para seu grupo de usuários e CALLBACK-URL pelo URL de retorno de chamada para o ID do cliente da aplicação.
Para resolver problemas de URL do ACS, conclua as seguintes etapas:
- Crie um arquivo HTTP Archive (HAR).
- Em seu navegador, na guia Rede, localize a solicitação com uma entrada saml?SamlRequest.
- Anote o SAMLRequest dos parâmetros da solicitação.
- Use sua ferramenta de decodificação SAML preferida para decodificar SAMLRequest.
- Compare o URL do ACS na solicitação decodificada com o da configuração de IdP.
Se os URLs forem diferentes, atualize sua configuração de IdP para corresponder ao URL do ACS em SAMLRequest. Em seguida, inicie a solicitação de federação do grupo de usuários correto.
- Tags
- Amazon Cognito
- Idioma
- Português

Conteúdo relevante
- feita há 7 meses
- feita há um ano