

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Mettre en œuvre des flux d'authentification
<a name="authentication-implement"></a>

Que vous implémentiez une [connexion gérée](authentication-flows-selection-managedlogin.md) ou une [interface d'application personnalisée](authentication-flows-selection-sdk.md) avec un AWS SDK pour l'authentification, vous devez configurer votre client d'application pour les types d'authentification que vous souhaitez implémenter. Les informations suivantes décrivent la configuration des flux d'authentification dans vos [clients d'application](user-pool-settings-client-apps.md) et dans votre application.

------
#### [ App client supported flows ]

Vous pouvez configurer les flux pris en charge pour les clients de votre application dans la console Amazon Cognito ou à l'aide de l'API d'un AWS SDK. Après avoir configuré votre client d'application pour prendre en charge ces flux, vous pouvez les déployer dans votre application.

La procédure suivante configure les flux d'authentification disponibles pour un client d'application avec la console Amazon Cognito.

**Pour configurer un client d'application pour les flux d'authentification (console)**

1. Connectez-vous AWS et accédez à la console des [groupes d'utilisateurs Amazon Cognito](https://console.aws.amazon.com/cognito/v2/idp). Choisissez un groupe d'utilisateurs ou créez-en un nouveau.

1. Dans la configuration de votre groupe d'utilisateurs, sélectionnez le menu **App clients**. Choisissez un client d'application ou créez-en un nouveau.

1. Sous **Informations sur le client de l'application**, sélectionnez **Modifier**.

1. Sous **Flux clients de l'application**, choisissez les flux d'authentification que vous souhaitez prendre en charge.

**Pour configurer un client d'application pour les flux d'authentification (API/SDK)**  
Pour configurer les flux d'authentification disponibles pour un client d'application avec l'API Amazon Cognito, définissez la valeur de `ExplicitAuthFlows` in a [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)request. Voici un exemple qui fournit un mot de passe à distance sécurisé (SRP) et une authentification basée sur les choix à un client.

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

Lorsque vous configurez des flux pris en charge par le client de l'application, vous pouvez spécifier les options et valeurs d'API suivantes.


**Support du flux client de l'application**  

| Flux d'authentification | Compatibilité | Console | API  | 
| --- | --- | --- | --- | 
| [Choice-basedauthentification](authentication-flows-selection-sdk.md#authentication-flows-selection-choice) | Server-side, côté client | Sélectionnez un type d'authentification lors de la connexion | ALLOW\_USER\_AUTH | 
| [Sign-in avec des mots de passe persistants](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-password) | Client-side | Connectez-vous avec votre nom d'utilisateur et votre mot de passe | ALLOW\_USER\_PASSWORD\_AUTH | 
| [Sign-in avec des mots de passe persistants et une charge utile sécurisée](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-srp) | Server-side, côté client | Connectez-vous avec un mot de passe à distance sécurisé (SRP) | ALLOW\_USER\_SRP\_AUTH | 
| [Actualiser les jetons](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-refresh) | Server-side, côté client | Obtenez de nouveaux jetons d'utilisateur à partir de sessions authentifiées existantes | ALLOW\_REFRESH\_TOKEN\_AUTH | 
| [Server-side authentification](authentication-flows-public-server-side.md#amazon-cognito-user-pools-server-side-authentication-flow) | Server-side | Connectez-vous à l'aide des informations d'identification administratives côté serveur | ALLOW\_ADMIN\_USER\_PASSWORD\_AUTH | 
| [Authentification personnalisée](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-custom) | Server-side et des applications personnalisées côté client. Non compatible avec la connexion gérée. | Connectez-vous à l'aide de flux d'authentification personnalisés à partir de déclencheurs Lambda | ALLOW\_CUSTOM\_AUTH | 

------
#### [ Implement flows in your application ]

La connexion gérée met automatiquement à disposition les options d'authentification que vous avez configurées sur vos pages de connexion. Dans les applications personnalisées, lancez l'authentification par une déclaration du flux initial.
+ Pour choisir parmi une liste d'options de flux pour un utilisateur, déclarez l'[authentification basée sur les choix](authentication-flows-selection-sdk.md#authentication-flows-selection-choice) auprès du `USER_AUTH` flux. [Ce flux propose des méthodes d'authentification qui ne sont pas disponibles dans les flux d'authentification basés sur le client, par exemple l'authentification par [clé et sans mot](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passkey) de passe.](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless)
+ Pour choisir votre flux d'authentification dès le départ, déclarez l'[authentification basée sur le client](authentication-flows-selection-sdk.md#authentication-flows-selection-client) avec tout autre flux disponible dans le client de votre application.

Lorsque vous connectez des utilisateurs, le corps de votre [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-AuthFlow)demande [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#CognitoUserPools-InitiateAuth-request-AuthFlow)ou de votre demande doit inclure un `AuthFlow` paramètre.

Choice-based authentification :

```
"AuthFlow": "USER_AUTH"
```

Client-based authentification avec SRP :

```
"AuthFlow": "USER_SRP_AUTH"
```

------