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.
Gérez les méthodes d'authentification dans AWS SDKs
Les utilisateurs des groupes d'utilisateurs Amazon Cognito peuvent se connecter à l'aide de diverses options ou facteurs de connexion initiale. Pour certains facteurs, les utilisateurs peuvent effectuer un suivi grâce à l'authentification multifactorielle (MFA). Ces premiers facteurs incluent le nom d'utilisateur et le mot de passe, le mot de passe à usage unique, la clé d'accès et l'authentification personnalisée. Pour de plus amples informations, veuillez consulter Flux d’authentification. Lorsque votre application intègre des composants d'interface utilisateur et importe un module AWS SDK, vous devez créer une logique d'application pour l'authentification. Vous devez choisir l'une des deux méthodes principales et, à partir de cette méthode, les mécanismes d'authentification que vous souhaitez implémenter.
Vous pouvez implémenter l'authentification basée sur le client dans le cadre de laquelle votre application, ou client, déclare le type d'authentification à l'avance. L'autre option est l'authentification basée sur les choix, dans le cadre de laquelle votre application collecte un nom d'utilisateur et demande les types d'authentification disponibles pour les utilisateurs. Vous pouvez implémenter ces modèles ensemble dans la même application ou les répartir entre les clients d'applications, selon vos besoins. Chaque méthode possède des fonctionnalités qui lui sont propres, par exemple l'authentification personnalisée en mode client et l'authentification sans mot de passe en mode choix.
Dans les applications personnalisées qui effectuent l'authentification avec l'implémentation par le AWS SDK de l'API des groupes d'utilisateurs, vous devez structurer vos demandes d'API en fonction de la configuration du groupe d'utilisateurs, de la configuration du client de l'application et des préférences côté client. Une InitiateAuth
session qui commence par un AuthFlow
de USER_AUTH
lance une authentification basée sur les choix. Amazon Cognito répond à votre API en vous demandant soit une méthode d'authentification préférée, soit une liste de choix. Une session qui commence par ou CUSTOM_AUTH
passe directement à AuthFlow
l'authentification personnalisée avec des déclencheurs Lambda.
Certaines méthodes d'authentification sont associées à l'un des deux types de flux, et certaines méthodes sont disponibles dans les deux types.
Authentification basée sur les choix
Votre application peut demander les méthodes d'authentification suivantes dans le cadre de l'authentification basée sur les choix.
Pour passer en revue ces options dans leur contexte d'API, reportez-vous ChallengeName
à RespondToAuthChallenge.
La connexion basée sur les choix pose un défi en réponse à votre demande initiale. Ce défi vérifie qu'une option demandée est disponible ou fournit une liste des choix disponibles. Votre application peut présenter ces choix aux utilisateurs, qui saisissent ensuite les informations d'identification correspondant à leur méthode de connexion préférée et procèdent à l'authentification dans les réponses aux défis.
Vous disposez des options basées sur les choix suivantes dans votre flux d'authentification. Toutes les demandes de ce type nécessitent que votre application collecte d'abord un nom d'utilisateur ou le récupère dans un cache.
-
Options de demande avec
AuthParameters
ouUSERNAME
uniquement. Amazon Cognito renvoie unSELECT_CHALLENGE
défi. À partir de là, votre application peut inviter l'utilisateur à sélectionner un défi et à renvoyer cette réponse à votre groupe d'utilisateurs. -
Demandez un défi préféré avec
AuthParameters
ofPREFERRED_CHALLENGE
. Si votre utilisateur, votre groupe d'utilisateurs et votre client d'application sont tous configurés pour le défi préféré, Amazon Cognito répond à ce défi. Si le défi préféré n'est pas disponible, Amazon Cognito répond en fournissantSELECT_CHALLENGE
une liste des défis disponibles. -
Connectez d'abord les utilisateurs, puis demandez leurs options d'authentification basées sur leurs choix. Une GetUserAuthFactorsdemande avec le jeton d'accès d'un utilisateur connecté renvoie ses facteurs d'authentification basés sur les choix disponibles et ses paramètres MFA. Avec cette option, un utilisateur peut d'abord se connecter avec un nom d'utilisateur et un mot de passe, puis activer une autre forme d'authentification. Vous pouvez également utiliser cette opération pour vérifier des options supplémentaires pour un utilisateur qui s'est connecté avec un défi préféré.
Authentification basée sur le client
L'authentification basée sur le client prend en charge les flux d'authentification suivants.
-
USER_PASSWORD_AUTH
etADMIN_USER_PASSWORD_AUTH
-
USER_SRP_AUTH
Connectez-vous avec des mots de passe persistants et une charge utile sécurisée
-
REFRESH_TOKEN_AUTH
-
CUSTOM_AUTH
L'authentification basée sur le client part du principe que votre application a déterminé la manière dont l'utilisateur souhaite s'authentifier avant de démarrer un flux d'authentification. La InitiateAuth
demande déclare une connexion AuthFlow
qui correspond directement à l'une des options répertoriées, par exempleUSER_SRP_AUTH
. Avec cette déclaration, la demande inclut également les paramètres permettant de commencer l'authentification, par exemple USERNAME
SECRET_HASH
, etSRP_A
. Amazon Cognito peut donner suite à cette demande avec des défis supplémentaires, tels que PASSWORD_VERIFIER
pour le SRP ou SOFTWARE_TOKEN_MFA
pour la connexion par mot de passe avec le TOTP MFA.