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 Kits SDK
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 multifacteur (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 possède des composants d'interface utilisateur intégrés 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 lorsque votre application, ou votre 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 de l'application, 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 à l'aide de l'implémentation par le AWS SDK de l'API des groupes d'utilisateurs, vous devez structurer vos demandes d'API de manière à les aligner sur la configuration du groupe d'utilisateurs, la configuration du client de l'application et les préférences côté client. Une InitiateAuth session qui commence par une authentification basée sur le choix AuthFlow des USER_AUTH initiateurs. 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 « AuthFlow of » CUSTOM_AUTH passe directement à une authentification personnalisée avec des déclencheurs Lambda.
Certaines méthodes d'authentification sont fixées à l'un des deux types de flux, et d'autres sont disponibles dans les deux.
Choice-based authentication
Votre application peut demander les méthodes d'authentification suivantes dans le cadre de l'authentification basée sur le choix. Déclarez ces options dans le PREFERRED_CHALLENGE paramètre de InitiateAuth ou AdminInitiateAuth, ou dans le ChallengeName paramètre de RespondToAuthChallenge ou AdminRespondToAuthChallenge.
Pour passer en revue ces options dans leur contexte d'API, voir ChallengeName dans RespondToAuthChallenge.
Choice-based sign-in lance un défi en réponse à votre demande initiale. Ce challenge permet soit de vérifier qu'une option demandée est disponible, soit de fournir une liste des choix disponibles. Votre application peut afficher 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 suivantes basées sur les choix 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
AuthParametersofUSERNAMEuniquement. Amazon Cognito propose unSELECT_CHALLENGEdé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
AuthParametersofPREFERRED_CHALLENGEet les paramètres de votre défi préféré, le cas échéant. Par exemple, si vous demandez unPREFERRED_CHALLENGEofPASSWORD_SRP, vous devez également inclureSRP_A. 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 à l'étape suivante de ce défi, par exemplePASSWORD_VERIFIERdans lePASSWORD_SRPflux ou CodeDeliveryDetails dans lesSMS_OTPfluxEMAIL_OTPet. Si le défi préféré n'est pas disponible, Amazon Cognito répond enSELECT_CHALLENGEfournissant une liste des défis disponibles. -
Connectez-vous d'abord aux utilisateurs, puis demandez les options d'authentification de leur choix. Une GetUserAuthFactors demande contenant le jeton d'accès d'un utilisateur connecté renvoie ses facteurs d'authentification disponibles en fonction de ses choix 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é.
Pour configurer le client de votre application pour une authentification basée sur les choix, ajoutez des ALLOW_USER_AUTH flux d'authentification autorisés. Vous devez également choisir les facteurs basés sur le choix que vous souhaitez autoriser dans la configuration de votre groupe d'utilisateurs. Le processus suivant montre comment choisir des facteurs d'authentification basés sur le choix.
Client-based authentication
Client-based L'authentification prend en charge les flux d'authentification suivants. Déclarez ces options dans le AuthFlow paramètre de InitiateAuth ou AdminInitiateAuth.
-
USER_PASSWORD_AUTHetADMIN_USER_PASSWORD_AUTHSign-in avec des mots de passe permanents
Ce flux d'authentification est équivalent
PASSWORDà l'authentification basée sur le choix. -
USER_SRP_AUTHSign-in avec des mots de passe permanents et une charge utile sécurisée
Ce flux d'authentification est équivalent
PASSWORD_SRPà l'authentification basée sur le choix. -
REFRESH_TOKEN_AUTHCe flux d'authentification n'est disponible que dans l'authentification basée sur le client.
-
CUSTOM_AUTHAuthentification personnalisée
Ce flux d'authentification n'est disponible que dans l'authentification basée sur le client.
Avec l'authentification basée sur le client, Amazon Cognito part du principe que vous avez déterminé la manière dont votre utilisateur souhaite s'authentifier avant de commencer les flux d'authentification. La logique de détermination du facteur de connexion qu'un utilisateur souhaite fournir doit être déterminée à l'aide de paramètres par défaut ou d'invites personnalisées, puis déclarée lors de la première demande adressée à votre groupe d'utilisateurs. 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 USERNAMESECRET_HASH, etSRP_A. Amazon Cognito peut donner suite à cette demande avec des défis supplémentaires, comme PASSWORD_VERIFIER pour le SRP ou SOFTWARE_TOKEN_MFA pour la connexion par mot de passe avec TOTP MFA.
Pour configurer le client de votre application pour l'authentification basée sur le client, ajoutez tous les flux d'authentification autres que les flux ALLOW_USER_AUTH d'authentification autorisés. Les exemples sont ALLOW_USER_PASSWORD_AUTHALLOW_CUSTOM_AUTH,ALLOW_REFRESH_TOKEN_AUTH. Pour autoriser les flux d'authentification basés sur le client, aucune configuration de groupe d'utilisateurs supplémentaire n'est requise.