Ajout d'un client d'application et configuration de l'interface utilisateur hébergée - Amazon Cognito

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.

Ajout d'un client d'application et configuration de l'interface utilisateur hébergée

Une fois que vous avez créé un groupe d'utilisateurs, vous pouvez créer une application afin d'utiliser les pages Web intégrées pour inscrire et connecter les utilisateurs.

Pour créer une application dans votre groupe d'utilisateurs
  1. Accédez à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d’identification AWS.

  2. Choisissez Groupes d’utilisateurs.

  3. 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.

  4. Choisissez l'onglet App integration (Intégration d'applications) pour votre groupe d'utilisateurs.

  5. À 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é.

  6. 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.

  7. Choisissez Créer.

  8. Naviguez jusqu'à.Intégration d'applications pour le même groupe d'utilisateurs et localisez Clients d'application. Choisissez Créer une application client.

  9. 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.

  10. Saisissez un Nom de client d'application.

  11. 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.

  12. Choisissez Authentication flows (Flux d'authentification) que vous allez autoriser avec votre application. Assurez-vous que USER_SRP_AUTH a été sélectionné.

  13. 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.

  14. Ajouter une URL de rappel pour votre client d'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 un URL de déconnexion autorisée jusqu'à ce que vous puissiez implémenter la déconnexion dans votre application.

    Pour une application iOS ou Android, vous pouvez utiliser une URL de rappel telle que myapp://.

  15. 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, ainsi que via OpenID Connect (OIDC) ou SAML IdPs, configurez-les d'abord comme indiqué dans Ajout de la connexion à un groupe d'utilisateurs via un tiers, puis revenez sur la page des paramètres du client de l'application pour les activer.

  16. Choisissez 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 ce flux d'octroi de code d'autorisation avec une PKCE (Proof Key for Code Exchange) pour les applications mobiles.

    Sélectionnez implicit grant (octroi implicite) pour que les jetons web JSON (JSON web tokens, JWT) vous soient renvoyés à partir d'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.

  17. À moins que vous ne souhaitiez spécifiquement en exclure un, sélectionnez tous les Périmètres OpenID Connect.

  18. Sélectionnez n'importe quelle Portée personnalisée que vous avez configurée. Les périmètres personnalisés sont généralement utilisés avec des clients confidentiels.

  19. Choisissez Créer.

Pour afficher votre page de connexion

À partir de App client page (Page du client d'application), sélectionnez View hosted UI (Afficher l'interface utilisateur hébergée) pour ouvrir un nouvel onglet de navigateur sur une page de connexion préremplie avec les paramètres d'ID de client d'application, d'étendue, d'octroi et d'URL de rappel.

Vous pouvez afficher manuellement la page Web de connexion de l'interface utilisateur hébergée en utilisant l'URL suivante. 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 afficher la page Web d'interface utilisateur de connexion hébergée à l'URL suivante pour l'octroi 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 les jetons d'identité JWT (JSON Web Token) juste après le paramètre #idtoken= dans la réponse.

L'URL suivante est 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 de groupe d'utilisateurs Amazon Cognito sont signés à l'aide d'un algorithme RS256. Vous pouvez décoder et vérifier les jetons du groupe d'utilisateurs à l'aide AWS Lambda de la section Décoder et vérifier les jetons Amazon Cognito JWT sur le site Web. AWS GitHub

Votre domaine s'affiche dans la page Domain name (Nom de domaine). Votre ID de client d'application et votre URL de rappel s'affichent dans la page Paramètres généraux. Si les modifications que vous avez apportées dans la console n'apparaissent pas immédiatement, patientez quelques minutes puis actualisez votre navigateur.

Étape suivante

Ajouter la connexion par réseaux sociaux à un groupe d'utilisateurs (Facultatif)