View a markdown version of this page

Implementar fluxos de autenticação - 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á.

Implementar fluxos de autenticação

Se você está implementando o login gerenciado ou um front-end de aplicativo personalizado com um AWS SDK para autenticação, você deve configurar seu cliente de aplicativo para os tipos de autenticação que deseja implementar. As informações a seguir descrevem a configuração dos fluxos de autenticação em seus clientes da aplicação e em sua aplicação.

App client supported flows

Você pode configurar fluxos compatíveis para seus clientes de aplicativos no console do Amazon Cognito ou com a API em um AWS SDK. Após configurar o cliente da aplicação para oferecer suporte a esses fluxos, você poderá implantá-los em sua aplicação.

O procedimento a seguir configura os fluxos de autenticação disponíveis para um cliente da aplicação com o console do Amazon Cognito.

Como configurar um cliente da aplicação para fluxos de autenticação (console)
  1. Faça login AWS e navegue até o console de grupos de usuários do Amazon Cognito. Selecione um grupo de usuários ou crie um.

  2. Na configuração do grupo de usuários, clique no menu Clientes da aplicação. Selecione um cliente da aplicação ou crie um.

  3. Em Informações do cliente de aplicação, clique em Editar.

  4. Em Fluxos do cliente da aplicação, escolha os fluxos de autenticação que você deseja oferecer suporte.

Para configurar um cliente de aplicativo para fluxos de autenticação (API/SDK)

Para configurar os fluxos de autenticação disponíveis para um cliente de aplicativo com a API do Amazon Cognito, defina o valor de ExplicitAuthFlows em uma solicitação CreateUserPoolClientor UpdateUserPoolClient. Veja a seguir um exemplo que fornece senha remota segura (SRP) e autenticação baseada em opções para um cliente.

"ExplicitAuthFlows": [ "ALLOW_USER_AUTH", "ALLOW_USER_SRP_AUTH" ]

Ao configurar fluxos compatíveis com o cliente da aplicação, você poderá especificar os valores da API e as opções abaixo.

Suporte ao fluxo do cliente da aplicação
Fluxo de autenticação Compatibilidade Console API
Choice-basedautenticação Server-side, do lado do cliente Selecionar um tipo de autenticação no login ALLOW_USER_AUTH
Sign-in com senhas persistentes Client-side Fazer login com nome de usuário e senha ALLOW_USER_PASSWORD_AUTH
Sign-in com senhas persistentes e carga útil segura Server-side, do lado do cliente Fazer login com senha remota segura (SRP) ALLOW_USER_SRP_AUTH
Atualizar tokens Server-side, do lado do cliente Receber novos tokens de usuário de sessões autenticadas existentes ALLOW_REFRESH_TOKEN_AUTH
Server-side autenticação Server-side Fazer login com credenciais administrativas do lado do servidor ALLOW_ADMIN_USER_PASSWORD_AUTH
Autenticação personalizada Server-side e aplicativos personalizados do lado do cliente. Não é compatível com o login gerenciado. Fazer login com fluxos de autenticação personalizados dos acionadores do Lambda ALLOW_CUSTOM_AUTH
Implement flows in your application

O login gerenciado disponibiliza automaticamente suas opções de autenticação configuradas em suas páginas de login. Em aplicações personalizadas, inicie a autenticação com uma declaração do fluxo inicial.

  • Para escolher entre uma lista de opções de fluxo para um usuário, declare a autenticação baseada em opções com o fluxo USER_AUTH. Esse fluxo tem métodos de autenticação disponíveis que não estão disponíveis nos fluxos de autenticação baseada em clientes, por exemplo, autenticação por chave de acesso e autenticação sem senha.

  • Para escolher seu fluxo de autenticação com antecedência, declare a autenticação baseada em clientes juntamente com qualquer outro fluxo disponível no cliente da aplicação.

Quando você faz login com usuários, o corpo da sua AdminInitiateAuthsolicitação InitiateAuthou solicitação deve incluir um AuthFlow parâmetro.

Choice-based autenticação:

"AuthFlow": "USER_AUTH"

Client-based autenticação com SRP:

"AuthFlow": "USER_SRP_AUTH"