Como adicionar acesso a grupo de usuários por meio de terceiros - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como adicionar acesso a grupo de usuários por meio de terceiros

Os usuários do seu aplicativo podem fazer login diretamente por meio de um grupo de usuários ou podem se federar por meio de um provedor de identidade (IdP) terceirizado. O grupo de usuários gerencia a sobrecarga de lidar com os tokens que são retornados do login social por meio do Facebook, Google, Amazon e Apple, e do OpenID Connect (OIDC) e SAML. IdPs Com a interface web hospedada integrada, o Amazon Cognito fornece gerenciamento e gerenciamento de tokens para usuários autenticados de todos. IdPs Dessa forma, os sistemas de backend podem realizar a padronização com base em um conjunto de tokens do grupo de usuários.

Como o login federado funciona em grupos de usuários do Amazon Cognito

O login por meio de um terceiro (federação) está disponível em grupos de usuários do Amazon Cognito. Esse recurso é independente da federação nos grupos de identidades do Amazon Cognito (identidades federadas).

Visão geral de autenticação com login em redes sociais

O Amazon Cognito é um diretório de usuários e um provedor de identidades (IdP) OAuth 2.0. Quando você faz login de usuários locais no diretório do Amazon Cognito, seu grupo de usuários é um IdP para sua aplicação. Um usuário local existe exclusivamente em seu diretório de grupo de usuários sem federação por meio de um IdP externo.

Quando você conecta o Amazon Cognito às redes sociais, SAML ou OpenID Connect (OIDC IdPs), seu grupo de usuários atua como uma ponte entre vários provedores de serviços e seu aplicativo. Para o IdP, o Amazon Cognito é um provedor de serviços (SP). Você IdPs passa um token de ID do OIDC ou uma declaração SAML para o Amazon Cognito. O Amazon Cognito lê as reivindicações sobre seu usuário no token ou na afirmação e mapeia essas reivindicações para um novo perfil de usuário no diretório do grupo de usuários.

Depois, o Amazon Cognito cria um perfil para o usuário federado em seu próprio diretório. O Amazon Cognito adiciona atributos ao usuário com base nas reivindicações do seu IdP e, no caso do OIDC e de provedores de identidades sociais, um endpoint userinfo público operado pelo IdP. Os atributos do usuário mudam em seu grupo de usuários quando um atributo do IdP mapeado é alterado. Você também pode adicionar mais atributos independentes dos do IdP.

Depois que o Amazon Cognito cria um perfil para seu usuário federado, ele altera sua função e se apresenta como o IdP para sua aplicação, que agora é o SP. O Amazon Cognito é uma combinação de IdP OAuth 2.0 e OIDC. Ele gera tokens de acesso, tokens de ID e tokens de atualização. Para mais informações sobre tokens, consulte Como usar tokens com grupos de usuários.

É necessário criar uma aplicação que se integre ao Amazon Cognito para autenticar e autorizar os usuários, sejam eles federados ou locais.

As responsabilidades de uma aplicação como provedor de serviços do Amazon Cognito

Confirmar e processar as informações nos tokens

Na maioria dos casos, o Amazon Cognito redireciona seu usuário autenticado para um URL de aplicação que ele anexa com um código de autorização. Sua aplicação troca o código por tokens de acesso, ID e atualização. Depois, ela precisa conferir a validade dos tokens e fornecer informações ao usuário com base nas reivindicações contidas nos tokens.

Responder a eventos de autenticação com solicitações da API do Amazon Cognito

Sua aplicação precisa se integrar à API de grupos de usuários do Amazon Cognito e aos endpoints de API de autenticação. A API de autenticação conecta e desconecta o usuário e gerencia tokens. A API de grupos de usuários tem uma variedade de operações que gerenciam seu grupo de usuários, seus usuários e a segurança do ambiente de autenticação. Sua aplicação precisa saber o que fazer em seguida ao receber uma resposta do Amazon Cognito.

Fatos a saber sobre o login de terceiro dos grupos de usuários do Amazon Cognito

  • Se quiser que seus usuários façam login com provedores federados, você deve escolher um domínio. Isso configura a interface de usuário hospedada do Amazon Cognito e interface do usuário hospedada e endpoints OIDC. Para ter mais informações, consulte Como usar o próprio domínio para a interface do usuário hospedada.

  • Você não pode cadastrar usuários federados com operações de API como InitiateAuthe. AdminInitiateAuth Os usuários federados só podem fazer login com o Endpoint de login ou o Autorizar endpoint.

  • O Autorizar endpoint é um endpoint de redirecionamento. Se você fornecer um parâmetro idp_identifier ou identity_provider na solicitação, ela será redirecionada silenciosamente para o IdP, ignorando a interface de usuário hospedada. Caso contrário, ela será redirecionada para o Endpoint de login da interface de usuário hospedada. Para ver um exemplo, consulte Exemplo de cenário: marcar aplicativos do Amazon Cognito como favoritos em um painel corporativo.

  • Quando a interface do usuário hospedada redireciona uma sessão para um IdP federado, o Amazon Cognito inclui o cabeçalho user-agent Amazon/Cognito na solicitação.

  • O Amazon Cognito gera o atributo username para um perfil de usuário federado usando a combinação de um identificador fixo com o nome de seu IdP. Para gerar um nome de usuário que corresponda aos seus requisitos personalizados, crie um mapeamento para o atributo preferred_username. Para ter mais informações, consulte Coisas a saber sobre mapeamentos.

    Exemplo: MyIDP_bob@example.com

  • O Amazon Cognito registra informações sobre a identidade de seu usuário federado em um atributo e uma reivindicação no token de ID, chamada identities. Essa reivindicação contém o provedor do usuário e o ID exclusivo do provedor. Não é possível alterar o atributo identities em um perfil de usuário diretamente. Para obter mais informações sobre como vincular um usuário federado, consulte Vincular usuários federados a um perfil de usuário existente.

  • Quando você atualiza o IdP em uma solicitação de API UpdateIdentityProvider, as alterações podem levar até um minuto para aparecerem na interface de usuário hospedada.

  • O Amazon Cognito é compatível com até 20 redirecionamentos HTTP entre ele e o IdP.

  • Quando o usuário faz login com a interface do usuário hospedada, o navegador armazena um cookie de sessão de login criptografado que registra o cliente e o provedor com os quais ele fez login. Se ele tentar fazer login novamente com os mesmos parâmetros, a interface do usuário hospedada reutilizará qualquer sessão existente não expirada, e o usuário se autenticará sem fornecer as credenciais novamente. Se o usuário fizer login novamente com um IdP diferente, incluindo uma mudança para ou do login do grupo de usuários local, ele deverá fornecer credenciais e gerar uma sessão de login.

    Você pode atribuir qualquer parte do seu grupo de usuários IdPs a qualquer cliente de aplicativo, e os usuários só podem entrar com um IdP que você atribuiu ao cliente do aplicativo.