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

Date de la dernière mise à jour : 20/12/2019

Je souhaite utiliser Okta en tant que fournisseur d'identité OpenID Connect (OIDC) avec 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), notamment par le biais d'un fournisseur d'identité tel qu'Okta. Pour davantage 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 application Okta d'obtenir des jetons de groupe d'utilisateurs à partir d'Amazon Cognito. Pour davantage d'informations, consultez la section Utilisation des jetons avec des groupes d'utilisateurs.

Solution

Création d'un groupe d'utilisateurs Amazon Cognito avec un client d'application 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 davantage 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 davantage d'informations, consultez la section 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éveloppeurs Okta, connectez-vous à ce dernier.

  1. Sur la page Web de connexion aux développeurs Okta, saisissez vos informations personnelles, puis choisissez MISE EN ROUTE. 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 MY ACCOUNT (ACTIVER MON COMPTE), connectez-vous et achevez la création de votre compte.

Création d'une application Okta

  1. Ouvrez la console des développeurs Okta. Pour davantage d'informations concernant la console, consultez The Okta Developer Console: All New, All You sur le blog des développeurs Okta.
  2. Dans le coin supérieur gauche, maintenez votre curseur sur la console de développeurs, puis choisissez Classic UI (Interface utilisateur classique). La console Administrateur s'ouvre. Pour davantage d'informations, consultez Console Administrateur sur la page Organisations Okta du site Web de développeurs Okta.
  3. Sous l'onglet Raccourcis, sélectionnez Add Applications (Ajouter des applications). Vous pouvez également choisir Applications, puis Add Application (Ajouter une application).
  4. Sur la page Add Application (Ajouter une application), sélectionnez Create New App (Créer une application).
  5. Dans la boîte de dialogue Create a New Application Integration (Créer une nouvelle intégration d'applications), vérifiez que l'option Plateforme est définie sur Web.
  6. Sous l'onglet Sign on method (Méthode de connexion), choisissez OpenID Connect.
  7. Sélectionnez Créer.

Configuration des paramètres de votre application Okta

  1. Sur la page Create OpenID Connect Integration (Créer une intégration OpenID Connect), sous PARAMÈTRES GÉNÉRAUX, renseignez un nom pour votre application. Saisissez par exemple TestApp.
  2. (Facultatif) Chargez un logo et sélectionnez les paramètres de visibilité de votre application.
  3. Sous CONFIGURE OPENID CONNECT (CONFIGURER OPENID CONNECT), pour l'option Login redirect URIs (URI de redirection de connexion), saisissez https://myUserPoolDomain/oauth2/idpresponse. Okta envoie ensuite la réponse d'authentification et 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.
  4. Choisissez Enregistrer. Vous êtes redirigé vers l'onglet Général de votre application Okta.
  5. Sous Paramètres généraux, pour l'option Allowed grant types (Types d'octrois autorisés), vérifiez que la case Authorization Code (Code d'autorisation) est cochée. Votre groupe d'utilisateurs utilise ce flux afin de communiquer avec OIDC Okta aux fins de la connexion des utilisateurs fédérés.
  6. Sous Client Credentials (Informations d'identification du client), recherchez l'ID client et la clé secrète du client, et prenez-en note pour plus tard. Vous en aurez besoin lors de la configuration d'Okta dans votre groupe d'utilisateurs Amazon Cognito. Pour davantage d'informations, consultez le guide Rechercher les informations d'identification de votre application sur le site Web de développeurs Okta.
  7. Sélectionnez Sign On (Inscription).
  8. Dans l'onglet Sign On (Inscription), sous OpenID Connect ID Token (Jeton d'identification OpenID Connect), prenez note de l'URL de l'émetteur. Vous en aurez également besoin ultérieurement, lors de la configuration d'Okta dans votre groupe d'utilisateurs.

Ajout d'un fournisseur d'identité OIDC dans votre groupe d'utilisateurs

  1. Dans la console Amazon Cognito, sélectionnez 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 davantage d'informations, consultez la section Valeurs de portée dans le guide de mise en œuvre de client de base OpenID Connect 1.0, sur le site Web OpenID.
    Important : la portée openid est obligatoire pour les fournisseurs d'identité 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 Créer un fournisseur.

Pour plus d'informations, reportez-vous à Ajout de fournisseurs d'identité OIDC à un groupe d'utilisateurs.

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

  1. Dans la console Amazon Cognito, sélectionnez 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'application, procédez comme suit :
    Sous l'onglet Fournisseurs d'identité activés, cochez les cases OIDC provider (Fournisseur OIDC) et Cognito User Pool (Groupe d'utilisateurs Cognito).
    Sous URL de rappel, saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être connectés. Pour le test, vous pouvez saisir n'importe quelle URL valide, par exemple https://exemple.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://exemple.com/.
    Sous Flux OAuth autorisés, sélectionnez les flux qui correspondent aux types d'octrois que vous avez précédemment choisis pour votre application Okta.
    Remarque : les flux OAuth autorisés vous permettent de déterminer 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 Enregistrer les modifications.

Pour davantage d'informations, consultez la section Présentation 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, sélectionnez 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 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 Attribut du groupe d'utilisateurs, choisissez E-mail.

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

Connexion aux fins du test de 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 davantage d'informations, consultez Utilisation de l'interface utilisateur hébergée Amazon Cognito aux fins de l'inscription et de la connexion.