Connecter votre application à Google Workspace

Utiliser les connexions Google sociales et Workspace (d’entreprise)

Si vous avez déjà une connexion sociale Google pour votre application et que vous créez une nouvelle connexion Google Workspace pour le même domaine, les utilisateurs affiliés à la connexion sociale seront désormais connectés avec la nouvelle connexion Workspace (d’entreprise). Cela se produira indépendamment de l’activation de la connexion à Google Workspace.

Prérequis

Avant de commencer :

Étapes

Pour connecter votre application à Google Workspace, vous devez :

  1. Mettre en place votre application dans Google

  2. Créer une connexion d’entreprise dans Auth0

  3. Activer la connexion entreprise de l’Application Auth0

  4. Tester la connexion

Compte Google Workspace

Avant de continuer, vous aurez besoin d’un compte Google Workspace valide et vous devez avoir votre propre organisation Google Workspace dont vous êtes administrateur.

Mettre en place votre application dans Google

Pour permettre aux utilisateurs de se connecteren utilisant Google Workspace, vous devez enregistrer votre application dans la console de développement Google.

Enregistrez votre nouvelle application

Pour apprendre comment enregistrer une nouvelle application avec Google, suivez le guide Setting up OAuth 2.0 (Configurer Oauth 2.0) de Google. Durant ce processus, Google génèrera un ID client et un secret client pour votre application; prenez-les en note.

Lors de la configuration de votre application, veillez à utiliser ces paramètres :

  • Sur l’écran de consentement d’OAuth, sous Domaines autorisés, ajoutez auth0.com.

  • Lorsqu’on vous demande de sélectionner un type d’application, choisissez Application Web et définissez les paramètres suivants :

    Champ Description
    Nom Le nom de votre application.
    Origine autorisée de JavaScript https://{yourDomain}
    Réacheminer les URI autorisés https://{yourDomain}/login/callback

    Trouver votre nom de domaine Auth0 pour les redirections

    Si votre nom de domaine Auth0 n’est pas affiché ci-dessus et que vous n’utilisez pas notre fonctionnalité de domaines personnalisés, votre nom de domaine est une concaténation de votre nom de locataire, de votre sous-domaine régional et de auth0.com, séparés par le symbole point (.).

    Par exemple, si votre nom de locataire est exampleco-enterprises et que votre locataire est dans la région des États-Unis, votre nom de domaine Auth0 serait  exampleco-enterprises.us.auth0.com et votre URI de redirection serait https://exampleco-enterprises.us.auth0.com/login/callback.

    Cependant, si votre locataire est dans la région des États-Unis et a été créé avant juin 2020, votre nom de domaine Auth0 serait exampleco-enterprises.auth0.com et votre URI de redirection seraithttps://exampleco-enterprises.auth0.com/login/callback.

    Si vous utilisez des domaines personnalisés, votre URI de redirection serait https://<YOUR CUSTOM DOMAIN>/login/callback.

Activer le service de la trousse SDK Admin

Si vous planifiez vous connecter aux domaines d’entreprise de Google Workspace, vous devez activer Service de trousse SDK Admin. Pour apprendre comment, suivez le document Activer et désactiver les API de Google.

Créer une connexion d’entreprise dans Auth0

Ensuite, vous devrez créer et configurer la Connexion entreprise Google Workspace dans Auth0. Assurez-vous d’avoir l’ID client et le secret client générés lorsque vous avez configuré votre application dans la console de développement Google.

  1. Naviguez vers Auth0 Dashboard > Authentification > Entreprise, trouvez Google Workspace, et cliquez sur +.

    Dashboard (Tableau de bord) - Connections (Connexions) - Enterprise (Entreprise)
  2. Saisissez les détails de votre connexion et sélectionnez Créer :

    Champ Description
    Connection name (Nom de connexion) Identifiant logique de votre connexion ; il doit être unique pour votre locataire. Une fois défini, ce nom ne peut pas être modifié.
    Google Workspace Domain (Domaine Google Workspace) Nom de domaine Google Workspace pour votre organisation.
    **Client ID (Identifiant client) Identifiant unique de votre application Google enregistrée. Saisissez la valeur enregistrée de ID client pour l’application que vous venez d’enregistrer dans la console du développeur Google.
    Client Secret (Secret client) Chaîne utilisée pour accéder à votre application Google enregistrée. Saisissez la valeur enregistrée du Client Secret pour l’application que vous venez d’enregistrer dans la console du développeur Google.
    Attributs Attributs de base pour l’utilisateur connecté auxquels votre application peut accéder. Indique la quantité d’informations que vous souhaitez stocker dans le profil utilisateur Auth0. Les options incluent : Basic Profile (drapeau email, email verified) et Extended Profile (nom, URL de profil public, photo, sexe, date de naissance, pays, langue et fuseau horaire).
    **Extended Attributes (Attributs étendus) (facultatif) Attributs étendus pour l’utilisateur connecté auxquels votre application peut accéder. Les options incluent : Groups (listes de distribution auxquelles appartient l’utilisateur, y compris l’option Format des attributs de groupe étendus qui récupère le nom du groupe, l’adresse courriel du groupe et l’ID de groupe unique), Is Domain Administrator (indique si l’utilisateur est administrateur de domaine), Is Account Suspended (indique si le compte de l’utilisateur est suspendu) et Agreed to Terms (indique si l’utilisateur a accepté les conditions de service).
    API Auth0 (facultatif) Lorsque Enable Users API est sélectionné, cela indique que vous devez pouvoir effectuer des appels vers l’API Google Directory.
    Auth0 User ID (Identifiant utilisateur Auth0) (facultatif) Par défaut, l’identifiant user_id d’Auth0 correspond à email. En activant Use ID instead of Email for Auth0 User ID, user_id correspond à id. Cela ne peut être défini que pour les nouvelles connexions et ne peut pas être modifié une fois configuré.
    Synchroniser les attributs du profil utilisateur à chaque connexion Lorsqu’il est activé, Auth0 synchronise automatiquement les données du profil utilisateur avec chaque connexion utilisateur, garantissant ainsi que les modifications apportées à la source de connexion sont automatiquement mises à jour dans Auth0.

    Create Google Workspace Connection (Créer connexion Google Workspace)
  3. Si vous disposez des autorisations administratives appropriées pour configurer vos paramètres Google Workspace afin de pouvoir utiliser les API d’administration de Google, cliquez sur Continue (Continuer). Autrement, fournissez l’URL donnée à votre administrateur pour lui permettre d’ajuster les paramètres requis.

  4. Sous l’onglet Expérience de connexion, vous pouvez configurer la façon dont les utilisateurs peuvent se connecter à cette connexion.

    Champ Description
    Découverte du domaine d’origine Compare le domaine de l’adresse courriel de l’utilisateur avec les domaines du fournisseur d’identité fourni. Pour plus d’informations, lisez Configurer l’authentification Identifier First
    Afficher le bouton de connexion Cette option affiche les choix suivants pour personnaliser le bouton de connexion de votre application.
    Nom d’affichage du bouton (Facultatif) Texte utilisé pour personnaliser le bouton de connexion pour la connexion universelle. Lorsque défini, le bouton affiche : Continuer avec {Nom d’affichage du bouton}.
    Logo du bouton URL (Facultatif) URL de l’image utilisée pour personnaliser le bouton de connexion pour la connexion universelle. Lorsque défini, le bouton de connexion de la connexion universelle affiche l’image sous la forme d’un carré de 20 px sur 20 px.

Travailler avec la connexion

Permettre une connexion entreprise pour votre application Auth0

Pour utiliser votre nouvelle connexion AD, vous devez premièrement activer la connexion pour vos applications Auth0.

Tester la connexion

Vous êtes maintenant prêt à tester votre connexion.

Demander des jetons d’actualisation à Google

Google renvoie toujours un jeton d’accès, qui est stocké dans le profil utilisateur. Si vous ajoutez access_type=offline&approval_prompt=force à la demande d’autorisation, Auth0 transmettra ces paramètres à Google. Google renverra alors un jeton d’actualisation, qui sera aussi stocké dans le profil utilisateur.

Utiliser les jetons de fournisseur d’identités de Google

Pour récupérer des détails supplémentaires sur les utilisateurs et les groupes au-delà de ce qu’Auth0 récupère par défaut, vous pouvez utiliser les jetons d’accès renvoyés par Google pour appeler les API de Google. Pour accéder en toute sécurité à ces jetons, suivez les lignes directrices fournies dans Jetons d’accès du fournisseur d’identités.

Pour Google Workspace, Auth0 stocke les jetons d’accès et les jetons d’actualisation sur l’objet user (utilisateur) pour les utilisateurs individuels et sur l’objet connection (connexion) pour les administrateurs de l’espace de travail.

Par exemple, pour récupérer toutes les propriétés de groupe étendues d’un utilisateur avec l’API Directory Admin de Google, accédez à la connexion Google Workspace dans votre Auth0 Dashboard et activez l’attribut étendu Groupes. Ensuite, complétez le consentement d’administrateur à l’aide de l’onglet Configuration.

Une fois ces étapes complétées, utilisez le point de terminaison Obtenir une connexion d'Auth0 Management API pour récupérer le jeton d’accès d’administrateur stocké sur l’objet connection. Vous pouvez ensuite utiliser ce jeton pour appeler le point de terminaison Gérer les groupes de Google.

Exemple d’appel :

curl -H "Authorization: OAuth {admin_access_token}" https://admin.googleapis.com/admin/directory/v1/groups\?userKey={user_key}

Was this helpful?

/

Valider l’authentification avec des Actions

Vous pouvez utiliser les Actionspost-connexion pour vérifier si les événements d’authentification proviennent d‘utilisateurs légitimes membres d’une organisation Google. Cela peut contribuer à atténuer les vulnérabilités potentielles en empêchant tout accès non autorisé à vos applications une fois que les utilisateurs ne font plus partie de votre organisation.

Pour vérifier la légitimité des authentifications Google, utilisez les Actions post-login pour valider la demande idp_tenant_domain associée à l’utilisateur et assurez-vous que la valeur corresponde à l’organisation attendue pour cet utilisateur.

Vous pouvez seulement vérifier le idp_tenant_domain des utilisateurs qui se sont authentifiés avec les types de connexion suivants :

  • Google Social

  • Google Workspace

  • Google OIDC

Exemple

L’exemple suivant démontre comment vous pouvez vérifier le idp_tenant_domain en utilisant les Actions de post-connexion.

exports.onExecutePostLogin = async (event, api) => {

 // Example to block social accounts
 if (event.connection.strategy === 'google-oauth2' 
 && !event.user.idp_tenant_domain) // Non-organization Accounts
 {
   api.access.deny('Account not allowed for login');
 }

 // Example to only permit allowlisted organization accounts
 if (event.connection.strategy === 'google-oauth2' 
 && event.user.idp_tenant_domain != "allowedOrganization.com") 
 {
   api.access.deny('Your Google Organization is not allowed to login');
 }

};

Was this helpful?

/

Réautoriser les connexions existantes

Si un administrateur de Google Workspace est supprimé, toutes les connexions Google Workspace d’entreprise qu’il a configurées et autorisées devront être réautorisées par un nouvel administrateur de Google Workspace pour éviter les échecs de connexion. Cela peut être fait en demandant au nouvel administrateur d’utiliser le lien sous l’onglet Configuration pour la connexion Google Workspace d’entreprise.

Prochaines étapes