Comment configurer Okta en tant que fournisseur d'identité OpenID Connect dans un groupe d'utilisateurs Amazon Cognito ?

Date de la dernière mise à jour : 21/09/2021

Je souhaite utiliser Okta en tant que fournisseur d'identité (IdP) OpenID Connect (OIDC) dans un groupe d'utilisateurs Amazon Cognito. Comment puis-je procéder ?

Brève description

Les groupes d'utilisateurs Amazon Cognito permettent la connexion par le biais d'un tiers (fédération), y compris par le biais d'un IdP (fournisseur d’identité) tel qu'Okta. Pour plus d'informations, consultez les sections Ajout de la connexion d'un groupe d'utilisateurs via un tiers et Ajout de fournisseurs d'identité OIDC à un groupe d'utilisateurs.

Un groupe d'utilisateurs intégré à Okta permet aux utilisateurs de votre appli Okta d'obtenir des jetons de groupe d'utilisateurs à partir d'Amazon Cognito. Pour plus d'informations, consultez la section Utilisation des jetons avec des groupes d'utilisateurs.

Résolution

Création d'un groupe d'utilisateurs Amazon Cognito avec un client d'appli et un nom de domaine

  1. Créez un groupe d'utilisateurs.
    Remarque : lors de la création, l'attribut standard d'e-mail est sélectionné par défaut. Pour plus d'informations, consultez la section Configuration des attributs du groupe d'utilisateurs.
  2. Créez un client d'application dans votre groupe d'utilisateurs. Pour plus d'informations, consultez Ajout d'une application pour activer l'interface utilisateur Web hébergée.
  3. Ajoutez un nom de domaine à votre groupe d'utilisateurs.

Création d'un compte de développeurs Okta

Remarque : si vous disposez déjà d'un compte de développeur Okta, connectez-vous à ce dernier.

  1. Sur la page Web de connexion d'Okta dédiée aux développeurs, saisissez vos informations personnelles, puis choisissez SIGN UP (S'INSCRIRE). L'équipe de développeurs Okta envoie un e-mail de vérification à l'adresse e-mail que vous avez renseignée.
  2. Cet e-mail de vérification contient les informations de connexion à votre compte. Choisissez ACTIVATE (ACTIVER), connectez-vous et achevez la création de votre compte.

Création d'une appli Okta

  1. Ouvrez la console des développeurs Okta. Pour plus d'informations sur la console, consultez la page Nouveau design de la console et du tableau de bord d'administration Okta — Disponible en EA du blog des développeurs Okta.
  2. Dans le panneau de navigation, développez l'affichage de la section Applications, puis choisissez Applications. Cette opération permet d'ouvrir la console applications. Pour plus d'informations, consultez la section Console d'administrateur sur la page Organizations Okta du site Web des développeurs Okta.
  3. Choisissez Create App Integration (Créer une intégration d'appli).
  4. Sur la page Créer une nouvelle intégration d'appli, choisissez OpenID Connect, puis Application Web, puis choisissez Suivant.

Configuration des paramètres de votre appli Okta

  1. Sur la page New Web App Integration (Nouvelle intégration d'appli web), sous General Settings (Paramètres généraux), saisissez le nom de votre appli. Par exemple, TestApp.
  2. Sous Grant type (Type d'autorisation), vérifiez que la case Authorization Code (Code d'autorisation) est cochée. Votre groupe d'utilisateurs utilise ce flux pour communiquer avec OIDC Okta afin de permettre la connexion des utilisateurs fédérés.
  3. Pour les identifiants uniformes de ressource (URI) de redirection de connexion, saisissez https://myUserPoolDomain/oauth2/idpresponse. C'est à cette adresse qu'Okta envoie ensuite la réponse d'authentification ainsi que le jeton d'identification.
    Remarque : remplacez myUserPoolDomain par le domaine de votre groupe d'utilisateurs Amazon Cognito. Vous pouvez trouver le domaine dans la console Amazon Cognito sur la page Nom de domaine de votre groupe d'utilisateurs.
  4. Sous CONFIGURE OPENID CONNECT (CONFIGURER OPENID CONNECT), pour l'option Login redirect URIs (URI de redirection de connexion), saisissez https://myUserPoolDomain/oauth2/idpresponse. C'est à cette adresse qu'Okta envoie ensuite la réponse d'authentification ainsi que le jeton d'identification.
    Remarque : remplacez myUserPoolDomain par le domaine de votre groupe d'utilisateurs Amazon Cognito. Recherchez le domaine dans la console Amazon Cognito sur la page Nom de domaine de votre groupe d'utilisateurs.
  5. Dans Accès contrôlé, choisissez votre paramètre d'accès, puis choisissez Enregistrer.
  6. Dans Informations d'identification du client, copiez l'ID du client ainsi que le secret du client. Ces informations d'identification vous sont nécessaires lors de la configuration d'Okta dans votre groupe d'utilisateurs Amazon Cognito.
  7. Sélectionnez Sign On (Inscription).
  8. Sur la page Sign On (Inscription), sous OpenID Connect ID Token (Jeton d'ID OpenID Connect), relevez l'URL de l'auteur. Cette URL vous est nécessaire lors de la configuration d'Okta dans votre groupe d'utilisateurs.

Ajoutez un fournisseur d'identité (IdP) OIDC dans votre groupe d'utilisateurs

  1. Dans la console Amazon Cognito, choisissez Manage user pools (Gérer les groupes d'utilisateurs), puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Fédération, choisissez Fournisseurs d'identité.
  3. Sélectionnez OpenID Connect.
  4. Procédez comme suit :
    Sous l'onglet Nom du fournisseur, saisissez le nom du fournisseur d'identité. Ce nom s'affiche dans l'interface utilisateur Web hébergée d'Amazon Cognito.
    Remarque : vous ne pouvez pas modifier ce champ après la création du fournisseur. Si vous avez l'intention d'inclure ce champ dans votre application ou d'utiliser l'interface utilisateur Web hébergée d'Amazon Cognito, utilisez un nom que vous êtes disposé à afficher aux utilisateurs de votre application.
    Sous l'onglet ID client, collez l'ID client que vous avez précédemment noté depuis Okta.
    Sous l'onglet Clé secrète du client (facultatif), collez la clé secrète du client que vous avez précédemment notée depuis Okta.
    Pour l'option Attributes request method (Méthode de demande d'attributs), conservez le paramètre GET.
    Pour l'option Portée d'autorisation, saisissez les valeurs de portée OIDC que vous souhaitez autoriser, en les séparant par des espaces. Pour plus d'informations, consultez la section Scope values (Valeurs de portée) dans l'OpenID Connect Basic Client Implementer's Guide 1.0 (guide d'implémentation de client de base OpenID Connect 1.0), sur le site Web OpenID.
    Important : la portée openid est obligatoire pour les IdP OIDC, et vous pouvez ajouter d'autres portées selon la configuration de votre groupe d'utilisateurs. Par exemple, si vous avez conservé l'attribut d'e-mail en tant qu'attribut requis lors de la création de votre groupe d'utilisateurs, saisissez email openid afin d'inclure les deux portées. Vous pouvez mapper l'attribut d'e-mail à votre groupe d'utilisateurs ultérieurement au cours de cette configuration.
    Sous Émetteur, collez l'URL de l'émetteur que vous avez précédemment copiée depuis Okta.
    Pour l'option Identifiants (facultatif), vous pouvez éventuellement saisir une chaîne personnalisée à utiliser ultérieurement dans l'URL de point de terminaison, au lieu du nom de votre fournisseur d'identité OIDC.
  5. Choisissez Run discovery (Exécuter la découverte) afin d'extraire les points de terminaison de la configuration OIDC pour Okta.
  6. Choisissez Create provider (Créer un fournisseur).

Pour plus d'informations, consultez la section Ajoutez un fournisseur d'identité (IdP) OIDC à votre groupe d'utilisateurs.

Modification des paramètres du client d'appli pour votre groupe d'utilisateurs

  1. Dans la console Amazon Cognito, choisissez Manage user pools (Gérer les groupes d'utilisateurs), puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Intégration d'application, sélectionnezParamètres du client d'application.
  3. Sur la page du client d'appli, procédez comme suit :
    Sous Fournisseurs d'identité activés, cochez la case Fournisseur OIDC pour l'IdP que vous avez créé précédemment.
    (Facultatif) Cochez la case Groupe d'utilisateurs Cognito.
    Pour URL(s) de rappel, saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après la connexion. Pour le test, vous pouvez saisir n'importe quelle URL valide, par exemple https://example.com/.
    Pour URL de déconnexion, saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être déconnectés. Pour le test, vous pouvez saisir n'importe quelle URL valide, par exemple https://example.com/.
    Sous Flux OAuth autorisés, sélectionnez les flux correspondant aux types d'autorisation que vous souhaitez que votre application reçoive après l'authentification de Cognito.
    Remarque : les flux OAuth autorisés déterminent les valeurs (code ou jeton) que vous pouvez utiliser pour le paramètre response_type dans votre URL de point de terminaison.
    Sous Règles OAuth autorisées, cochez au moins les cases email et openid.
  4. Choisissez Save Changes (Enregistrer les modifications).

Pour plus d'informations, consultez la section Terminologie des paramètres du client d'application.

Mappage de l'attribut d'e-mail à un attribut de groupe d'utilisateurs

Si vous avez précédemment autorisé la valeur de portée OIDC d'e-mail, mappez-la à un attribut de groupe d'utilisateurs.

  1. Dans la console Amazon Cognito, choisissez Manage user pools (Gérer les groupes d'utilisateurs), puis choisissez votre groupe d'utilisateurs.
  2. Dans le panneau de navigation de gauche, sous Federation (Fédération), choisissez Attribute mapping (Mappage d'attribut).
  3. Sur la page de mappage d'attribut, sélectionnez l'onglet OIDC.
  4. Si vous disposez de plusieurs fournisseurs OIDC dans votre groupe d'utilisateurs, choisissez votre nouveau fournisseur dans la liste déroulante.
  5. Vérifiez que l'attribut OIDC sub est mappé avec l'attribut Nom d'utilisateur du groupe d'utilisateurs.
  6. Choisissez Add OIDC attribute (Ajouter un attribut OIDC), puis effectuez les opérations suivantes :
    Sous OIDC attribute (Attribut OIDC), saisissez e-mail.
    Sous User pool attribute (Attribut du groupe d'utilisateurs), choisissez Email.

Pour plus d'informations, consultez la section Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs.

Connexion afin de tester votre configuration

Authentifiez-vous avec Okta à l'aide de l'interface utilisateur web hébergée d'Amazon Cognito. Une fois connecté, vous êtes redirigé vers l'URL de rappel de votre client d'application. Le code d'autorisation ou les jetons du groupe d'utilisateurs s'affichent dans l'URL située dans la barre d'adresse de votre navigateur web.

Pour plus d'informations, consultez la section Utilisation de l'interface utilisateur hébergée d'Amazon Cognito pour la connexion et l'inscription.