

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
<a name="authentication-implement"></a>

Se você está implementando o [login gerenciado](authentication-flows-selection-managedlogin.md) ou um [front-end de aplicativo personalizado](authentication-flows-selection-sdk.md) 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](user-pool-settings-client-apps.md) 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](https://console.aws.amazon.com/cognito/v2/idp). Selecione um grupo de usuários ou crie um.

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

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

1. 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 [CreateUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolClient.html#CognitoUserPools-CreateUserPoolClient-request-ExplicitAuthFlows)or [UpdateUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolClient.html#CognitoUserPools-UpdateUserPoolClient-request-ExplicitAuthFlows). 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](authentication-flows-selection-sdk.md#authentication-flows-selection-choice) | Server-side, do lado do cliente | Selecionar um tipo de autenticação no login | ALLOW\_USER\_AUTH | 
| [Sign-in com senhas persistentes](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-password) | Client-side | Fazer login com nome de usuário e senha | ALLOW\_USER\_PASSWORD\_AUTH | 
| [Sign-in com senhas persistentes e carga útil segura](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-srp) | Server-side, do lado do cliente | Fazer login com senha remota segura (SRP) | ALLOW\_USER\_SRP\_AUTH | 
| [Atualizar tokens](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-refresh) | 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](authentication-flows-public-server-side.md#amazon-cognito-user-pools-server-side-authentication-flow) | Server-side | Fazer login com credenciais administrativas do lado do servidor | ALLOW\_ADMIN\_USER\_PASSWORD\_AUTH | 
| [Autenticação personalizada](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-custom) | 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](authentication-flows-selection-sdk.md#authentication-flows-selection-choice) 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](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passkey) e autenticação [sem senha](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless).
+ Para escolher seu fluxo de autenticação com antecedência, declare a [autenticação baseada em clientes](authentication-flows-selection-sdk.md#authentication-flows-selection-client) juntamente com qualquer outro fluxo disponível no cliente da aplicação.

Quando você faz login com usuários, o corpo da sua [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-AuthFlow)solicitação [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#CognitoUserPools-InitiateAuth-request-AuthFlow)ou 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"
```

------