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.
Ajouter un client d'application avec l'interface utilisateur hébergée
Après avoir créé un groupe d'utilisateurs, vous pouvez créer un client d'application pour une application qui affiche les pages Web intégrées de l'interface utilisateur hébergée. Dans l'interface utilisateur hébergée, les utilisateurs peuvent :
Après avoir créé un groupe d'utilisateurs Amazon Cognito, l'étape suivante consiste à configurer un client d'application. Un client d'application correspond aux paramètres du groupe d'utilisateurs d'une application. Cette application peut authentifier les utilisateurs avec l'interface utilisateur hébergée, les SDK demandes adressées aux groupes d'utilisateursAPI, ou les deux. Dans ce cas, nous allons configurer un client d'application pour l'interface utilisateur hébergée et le serveur d'autorisation OAuth 2.0. L'interface utilisateur hébergée est un ensemble de pages Web qui gèrent les flux d'authentification utilisateur courants, tels que l'inscription, la connexion, la réinitialisation du mot de passe et l'authentification multifactorielle.
Lorsque vous activez l'interface utilisateur hébergée, vous activez également un serveur d'autorisation OAuth 2.0. Le serveur d'autorisation gère les flux d'authentification OpenID Connect (OIDC) et OAuth 2.0. Les tâches incluent l'interrogation des comptes utilisateurs, l'émission de jetons et l'intégration avec des fournisseurs d'identité externes. L'interface utilisateur hébergée et le serveur d'autorisation fonctionnent mieux avec les applications pour lesquelles vous souhaitez limiter le niveau de création d'interface utilisateur personnalisée et pour lesquelles votre application fonctionne le mieux avec les fournisseurs OIDC d'identité.
Voici certaines des fonctionnalités de l'interface utilisateur hébergée et du serveur d'autorisation :
Fonctionnalités exclusives aux clients d'applications d'interface utilisateur hébergées
-
Demander des jetons d'accès machine-to-machine (M2M).
Fonctionnalités partagées entre l'interface utilisateur hébergée et les clients SDK d'applications basés sur des applications
-
Connectez-vous avec ou sans authentification multifactorielle.
-
Permettez aux utilisateurs de réinitialiser leur mot de passe, de confirmer les nouveaux comptes utilisateur et de vérifier les attributs de l'adresse e-mail et du numéro de téléphone.
-
Échangez des jetons d'accès utilisateur contre des informations d'attribut. Cela est également possible dans les applications SDK basées sur GetUser.
Pour créer un client d'application pour la connexion à l'interface utilisateur hébergée
-
Accédez à la console Amazon Cognito
. Si vous y êtes invité, entrez vos AWS informations d'identification. -
Choisissez Groupes d’utilisateurs.
-
Choisissez un groupe d’utilisateurs existant dans la liste ou créez-en un. Si vous créez un nouveau groupe d'utilisateurs, vous serez invité à configurer un client d'application et à configurer l'interface utilisateur hébergée pendant l'assistant.
-
Choisissez l'onglet App integration (Intégration d'applications) pour votre groupe d'utilisateurs.
-
À côté de Domaine, choisissez Actions, puis sélectionnez l'une de ces options : Créer un nom de domaine personnalisé ou Créer un nom de domaine Amazon Cognito. Si vous avez déjà configuré un domaine de groupe d'utilisateurs, choisissez Supprimer le domaine Amazon Cognito ou Supprimer le domaine personnalisé avant de créer votre nouveau domaine personnalisé.
-
Saisissez un préfixe de domaine disponible à utiliser avec un domaine Amazon Cognito. Pour plus d'informations sur la configuration d'un Custom domain (Domaine personnalisé), consultez Utilisation de votre propre domaine pour l'interface utilisateur hébergée.
-
Sélectionnez Create (Créer).
-
Naviguez jusqu'à.Intégration d'applications pour le même groupe d'utilisateurs et localisez Clients d'application. Choisissez Créer une application client.
-
Choisissez un type d'application. Certains paramètres recommandés seront fournis en fonction de votre sélection. Une application qui utilise l'interface utilisateur hébergée est une Client public.
-
Saisissez un Nom de client d'application.
-
Pour cet exercice, choisissez Ne générez pas de secret client. Le secret client est utilisé par les applications confidentielles qui authentifient les utilisateurs à partir d'une application centralisée. Dans cet exercice, vous présenterez une page de connexion à l'interface utilisateur hébergée à vos utilisateurs et vous n'aurez pas besoin de secret client.
-
Choisissez les flux d'authentification que vous allez autoriser avec votre application. Assurez-vous que
USER_SRP_AUTH
a été sélectionné. -
Personnalisez l'expiration du jeton, Configuration de sécurité avancée, et Permissions de lecture et d'écriture d'attributs si nécessaire. Pour plus d'informations, consultez Configuration des paramètres de l'Application Client.
-
Ajoutez un rappel URL pour le client de votre application. C'est là que vous serez dirigé après l'authentification de l'interface utilisateur hébergée. Vous n'avez pas besoin d'ajouter une déconnexion autorisée URL avant de pouvoir implémenter la déconnexion dans votre application.
Pour une application iOS ou Android, vous pouvez utiliser un rappel URL tel que
myapp://
. -
Sélectionnez les Fournisseurs d'identité pour le client d'application. Au minimum, activez Groupe d'utilisateurs Amazon Cognito en tant que fournisseur.
Note
Pour vous connecter auprès de fournisseurs d'identité externes (IdPs) tels que Facebook, Amazon, Google et Apple, ou via OpenID Connect (OIDC) SAML IdPs, ou configurez-les d'abord comme indiqué dans Ajouter une connexion à un groupe d'utilisateurs via un tiers. Retournez ensuite à la page des paramètres du client de l'application pour les activer.
-
Choisissez les types de subventions OAuth 2.0. Sélectionnez Authorization code grant (Octroi de code d'autorisation) pour renvoyer un code d'autorisation qui est ensuite remplacé par des jetons de groupe d'utilisateurs. Étant donné que les jetons ne sont jamais exposés directement à un utilisateur final, ils sont moins susceptibles d’être compromis. Toutefois, une application personnalisée est requise au niveau du backend pour échanger le code d’autorisation contre des jetons de groupe d’utilisateurs. Pour des raisons de sécurité, nous vous recommandons d'utiliser le flux d'octroi du code d'autorisation, ainsi que Proof Key for Code Exchange (PKCE), pour les applications mobiles.
Sélectionnez Attribution implicite pour que les jetons JSON Web du pool d'utilisateurs (JWT) vous soient renvoyés par Amazon Cognito. Vous pouvez utiliser ce flux lorsqu’il n’y a pas de backend disponible pour échanger un code d’autorisation contre des jetons. C’est également utile pour déboguer les jetons.
Note
Vous pouvez activer Authorization code grant (Octroi de code d'autorisation) et Implicit code grant (Octroi de code implicite), puis utiliser chaque octroi selon vos besoins.
Sélectionnez Informations d'identification du client uniquement si votre application doit demander des jetons d'accès pour elle-même et non pas pour un utilisateur.
-
À moins que vous ne souhaitiez spécifiquement en exclure un, sélectionnez tous les Périmètres OpenID Connect.
-
Sélectionnez les étendues personnalisées que vous avez configurées. Les périmètres personnalisés sont généralement utilisés avec des clients confidentiels.
-
Sélectionnez Create (Créer).
Pour afficher votre page de connexion
Sur la page client de votre application, sélectionnez Afficher l'interface utilisateur hébergée pour ouvrir un nouvel onglet de navigateur vers une page de connexion préremplie avec l'ID du client de l'application, le champ d'application, l'autorisation et les paramètres de rappelURL.
Vous pouvez afficher manuellement la page Web de connexion à l'interface utilisateur hébergée avec ce qui suitURL. Notez le response_type
. Dans ce cas, response_type=code pour l'octroi de code d'autorisation.
https://
your_domain
/login?response_type=code&client_id=your_app_client_id
&redirect_uri=your_callback_url
Vous pouvez consulter la page Web de connexion à l'interface utilisateur hébergée avec ce qui suit URL pour l'attribution de code implicite, où response_type=token. Après une connexion réussie, Amazon Cognito renvoie des jetons de groupe d’utilisateurs à la barre d’adresse de votre navigateur web.
https://
your_domain
/login?response_type=token&client_id=your_app_client_id
&redirect_uri=your_callback_url
Vous pouvez trouver le jeton d'identité JSON Web Token (JWT) après le #idtoken=
paramètre dans la réponse.
URLVoici un exemple de réponse à une demande de subvention implicite. Votre chaîne de jetons d'identité sera beaucoup plus longue.
https://www.example.com/#id_token=123456789tokens123456789&expires_in=3600&token_type=Bearer
Les jetons des groupes d'utilisateurs Amazon Cognito sont signés à l'aide d'un RS256 algorithme. Vous pouvez décoder et vérifier les jetons du groupe d'utilisateurs à l'aide AWS Lambda de. Pour plus d'informations, consultez Décoder et vérifier les jetons Amazon JWT Cognito
Votre domaine s'affiche dans la page Domain name (Nom de domaine). L'ID client et le rappel de votre application URL sont affichés sur la page des paramètres généraux. Si les modifications que vous avez apportées dans la console n'apparaissent pas immédiatement, attendez quelques minutes, puis actualisez votre navigateur.