Configuration d'un client d'application pour un groupe d'utilisateurs. - Amazon Cognito

Configuration d'un client d'application pour un groupe d'utilisateurs.

Une application est une entité au sein d'un groupe d'utilisateurs qui est autorisé à appeler des opérations d'API non authentifiées. Les opérations d'API non authentifiées sont celles qui n'ont pas d'utilisateur authentifié. Il peut s'agir d'opérations d'enregistrement, de connexion et de gestion des mots de passe oubliés. Pour appeler ces opérations d'API, vous avez besoin d'un ID de client d'application et d'une clé secrète de client d'application facultative. Il vous appartient de sécuriser les ID ou secrets des clients d'application afin que seules les applications client autorisées puissent appeler ces opérations non authentifiées.

Vous pouvez créer plusieurs applications pour un groupe d'utilisateurs. Généralement, une application correspond à la plateforme d'une application. Par exemple, vous pouvez créer une application pour une application côté serveur et une application Android distincte. Chaque application a son propre ID de client d'application.

Lorsque vous créez un client d'application dans Amazon Cognito, vous pouvez préremplir les options en fonction des types de client OAuth standard client public et client confidentiel. Configurez un client confidentiel avec un secret client.

Client public

Un client public s'exécute dans un navigateur ou sur un appareil mobile. Étant donné qu'il ne dispose pas de ressources approuvées côté serveur, il ne possède pas de secret client.

Client confidentiel

Un client confidentiel dispose de ressources côté serveur qui peuvent être approuvée à l'aide d'un secret client pour des opérations d'API non authentifiées. L'application peut s'exécuter en tant que démon ou script shell sur votre serveur backend.

Secret client

Un secret client est une chaîne fixe que votre application doit utiliser dans toutes les demandes d'API adressées au client d'application. Votre client d'application doit posséder un secret client pour effectuer des octrois client_credentials.

Vous ne pouvez pas modifier les secrets après avoir créé une application. Vous pouvez créer une nouvelle application avec un nouveau secret, si vous souhaitez effectuer une rotation du secret. Vous pouvez également supprimer une application pour empêcher les applications qui utilisent cet ID de client d'application d'y accéder.

Vous pouvez utiliser un client confidentiel et un secret client avec une application publique. Utilisez un proxy Amazon CloudFront pour ajouter un SECRET_HASH en transit. Pour plus d'informations, consultez Protect public clients for Amazon Cognito by using an Amazon CloudFront proxy sur le blog AWS.

Création d'un client d'application (AWS Management Console)

Original console

Pour créer un client d'application (console)

  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.

  4. Choisissez l'onglet App integration (Intégration d'applications). Localise rClients d'application et sélectionnezCréer un client d'application.

  5. Choisissez Ajouter un client d'application.

  6. Choisissez Ajouter un client d'application.

  7. Saisissez un nom de client d'application.

  8. Spécifiez le paramètre Refresh token expiration (Délai d'expiration du jeton d'actualisation) pour l'application. La valeur par défaut est de 30 jours. Vous pouvez remplacer la valeur par défaut par toute valeur comprise entre 1 heure et 10 ans.

  9. Spécifiez le délai d'expiration du jeton d'accès de l'application dans Access token expiration. La valeur par défaut est 1 heure. Vous pouvez remplacer la valeur par défaut par toute valeur comprise entre 5 minutes et 24 heures.

  10. Spécifiez le paramètre ID token expiration (Délai d'expiration du jeton d'identification) pour l'application. La valeur par défaut est 1 heure. Vous pouvez remplacer la valeur par défaut par toute valeur comprise entre 5 minutes et 24 heures.

    Important

    Si vous utilisez l'interface utilisateur hébergée et définissez un délai d'expiration de jeton de moins d'une heure, l'utilisateur peut obtenir de nouveaux jetons basés sur son cookie de session, qui expire après 1 heure. Vous ne pouvez pas modifier la durée de ce cookie.

  11. Par défaut, les groupes d'utilisateurs génèrent un code secret client pour votre application. Si vous n'avez pas besoin d'un secret client, désélectionnez Générer un secret client.

  12. Si votre application serveur nécessite des informations d'identification de développeur (en utilisant Signature version 4) et n'utilise pas l'authentification basée sur un mot de passe distant sécurisé (SRP), sélectionnez Enable username password auth for admin APIs for authentication (ALLOW_ADMIN_USER_PASSWORD_AUTH) (Activer l'authentification basée sur le mot de passe du nom d'utilisateur pour les API d'administration pour l'authentification (ALLOW_ADMIN_USER_PASSWORD_AUTH)) pour activer l'authentification côté serveur. Pour plus d'informations, consultez Flux d'authentification de l'administration.

  13. Sous Prevent User Existence Errors (Empêcher les erreurs liées à d'existence de l'utilisateur), choisissez Lagacy (Hérité) ou Enabled (Activé). Pour plus d'informations, consultez Gestion de la réponse d'erreur.

  14. Par défaut, les groupes d'utilisateurs donnent à votre application l'autorisation de lire et d'écrire tous les attributs. Si vous souhaitez définir des autorisations différentes pour votre application, procédez comme suit. Sinon, passez à l'étape 15.

    1. Sélectionnez Définir les autorisations de lecture et d'écriture pour les attributs.

    2. Effectuez l'une des opérations suivantes pour définir les autorisations de lecture et d'écriture :

      • Choisissez une ou plusieurs portées. Chaque règle représente un ensemble d'attributs standard. Pour plus d'informations, consultez la liste des règles OIDC standard.

      • Choisissez des attributs individuels standard ou personnalisés.

    Note

    Vous ne pouvez pas supprimer les attributs obligatoires des autorisations d'écriture dans une application.

  15. Choisissez Créer un client d'application.

  16. Si vous souhaitez créer une autre application, choisissez Ajouter une application.

  17. Après avoir créé toutes les applications souhaitées, choisissez Return to pool details (Revenir aux détails du groupe), mettez à jour les autres champs, puis choisissez Create pool (Créer un groupe).

New console

Pour créer un client d'application (console)

  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.

  4. Sélectionnez l'onglet Intégration d'applications.

  5. Sous Clients d'application, sélectionnez Créer un client d'application.

  6. Sélectionnez un type d'application :Client public, Client confidentiel ou Autre.

  7. Saisissez un nom de client d'application.

  8. Sélectionnez les flux d'authentification que vous souhaitez autoriser dans votre client d'application.

  9. (Facultatif) Effectuez les opérations suivantes si vous souhaitez configurer l'expiration du jeton :

    1. Spécifiez le délai d'expiration du jeton d'actualisation de l'application. La valeur par défaut est de 30 jours. Vous pouvez le remplacer par toute valeur comprise entre 1 heure et 10 ans.

    2. Spécifiez le délai d'expiration du jeton d'accès du client d'application. La valeur par défaut est 1 heure. Vous pouvez la remplacer par toute valeur comprise entre 5 minutes et 24 heures.

    3. Spécifiez le délai d'expiration du jeton d'identification du client d'application. La valeur par défaut est 1 heure. Vous pouvez la remplacer par toute valeur comprise entre 5 minutes et 24 heures.

      Important

      Si vous utilisez l'interface utilisateur hébergée et configurez des jetons de moins d'une heure, l'utilisateur final sera en mesure d'utiliser des jetons basés sur le cookie de sa session qui est actuellement fixée à une heure.

  10. Choisissez Générer un secret client pour qu'Amazon Cognito génère un code secret client pour vous. Les secrets des clients sont généralement associés à des clients confidentiels.

  11. Indiquez si vous voulez activer la révocation de jetons pour ce client d'application. Cela augmentera la taille des jetons émis par Amazon Cognito.

  12. Indique si vous voulez empêcher les messages d'erreur révélant l'existence de l'utilisateur pour ce client d'application. Amazon Cognito répondra aux demandes de connexion des utilisateurs inexistants avec un message générique indiquant que le nom d'utilisateur ou le mot de passe était incorrect.

  13. (Facultatif) Configurez des autorisations de lecture et d'écriture d'attributs pour ce client d'application. Votre client d'application peut être autorisé à lire et à écrire un sous-ensemble limité du schéma d'attribut de votre groupe d'utilisateurs.

  14. Choisissez Create (Créer).

  15. Notez l'ID du client. Cela permettra d'identifier le client de l'application dans les demandes d'inscription et de connexion.

Pour créer et mettre à jour des applications client dans un groupe d'utilisateurs (API, AWS CLI)

Effectuez l'une des actions suivantes :