Skip to main content
La configuration par défaut d’Office 365 comprend Active Directory et les services DirSync/Azure AD Sync, qui synchronisent et provisionnent les utilisateurs AD présents dans votre Azure AD afin d’assurer l’. Dans cette configuration, Auth0 est le et fournit l’authentification unique (SSO) à ces utilisateurs. Mais que faire si vous souhaitez permettre à des sous-traitants, des partenaires ou même à des clients d’accéder à votre environnement Office 365 (par ex., SharePoint) ? Dans ce cas, l’approche par défaut n’est pas idéale, car ces utilisateurs devraient être créés dans votre environnement AD. Vous devez plutôt effectuer un provisionnement personnalisé des utilisateurs Azure AD à l’aide des Rules Auth0. Le provisionnement personnalisé vous permet de créer des utilisateurs dans Azure AD (et donc, concrètement, dans Office 365) au moment même où ils se connectent à partir de n’importe quelle connexion disponible dans Auth0. (Dans ce cas, votre règle remplit le rôle de DirSync pour tout type de connexion avec lequel DirSync ne fonctionnerait pas.) Cette configuration vous permet d’offrir diverses options de connexion (notamment Facebook, LinkedIn et Google Workspace) pour votre environnement Office 365.

Prérequis

Avant de pouvoir configurer le provisionnement personnalisé, vous devez :
  • Configurer Office 365 : enregistrer un et configurer Office 365 comme application tierce dans Auth0.

Configurer Azure AD

Le provisionnement personnalisé utilise l’API Graph d’Azure AD pour provisionner de nouveaux utilisateurs dans Azure AD. Pour accéder à l’API Graph d’Azure AD, vous devez créer une application dans l’annuaire Azure AD qui a été liée à l’abonnement Office 365 :
  1. Connectez-vous à l’Azure Portal.
  2. Choisissez Azure Active Directory dans le menu de navigation de gauche.
  3. Sélectionnez App registrations dans le nouveau menu.
  4. Cliquez sur New application registration.
  5. Remplissez le formulaire :
    1. Entrez un nom pour l’application (par exemple Auth0 Provisioning)
    2. Sélectionnez Web app / API comme Type d’application.
    3. Saisissez une URL de connexion. Vous pouvez entrer n’importe quelle URL valide; elle ne sera pas vraiment utilisée.
  6. L’application nouvellement créée apparaîtra dans la liste App registrations. Sélectionnez-la.
  7. Dans le volet Settings (Microsoft appelle ces sections des « blades »), choisissez Keys.
  8. Entrez une Description (par exemple Auth0 Provision), puis choisissez une Duration pour la nouvelle clé. Si vous choisissez d’émettre une clé non permanente, notez la date d’expiration et créez un rappel pour remplacer la clé avant son expiration.
  9. Cliquez pour enregistrer la clé, puis copiez l’App Key. Cette clé ne sera affichée qu’une seule fois et elle est nécessaire pour la règle Auth0.
  10. Choisissez Required permissions, puis cliquez sur Add dans le nouveau volet.
  11. Sélectionnez l’API Microsoft Graph, puis cochez Read and write directory data sous Application Permissions.
  12. De retour dans Required permissions, cliquez sur le bouton Grant Permissions, puis sur Yes pour accorder les autorisations demandées.

Créez la règle de provisionnement Azure AD

La règle suivante illustre le processus de provisionnement :
  1. Si l’utilisateur provient de la connexion AD, ignorez le processus de provisionnement (car il sera pris en charge par DirSync).
  2. Si l’utilisateur a déjà été provisionné dans Azure AD, poursuivez simplement la transaction de connexion.
  3. Utilisez le Client ID et la clé Azure AD pour obtenir un jeton d’accès pour la Graph API.
  4. Créez un utilisateur dans Azure AD.
  5. Attribuez une licence à l’utilisateur.
  6. Poursuivez la transaction de connexion.
Le nom d’utilisateur est généré par la fonction createAzureADUser, qui, par défaut, génère un nom d’utilisateur au format auth0-c3fb6eec-3afd-4d52-8e0a-d9f357dd19ab@fabrikamcorp.be. Vous pouvez le modifier comme bon vous semble; assurez-vous simplement que cette valeur est unique pour tous vos utilisateurs. Assurez-vous de définir les bonnes valeurs pour AUTH0_OFFICE365_CLIENT_ID, AAD_CUSTOM_DOMAIN, AAD_DOMAIN, AAD_APPLICATION_ID et AAD_APPLICATION_API_KEY dans votre objet de configuration afin de rendre ces valeurs accessibles dans le code de votre règle. Pour en savoir plus, consultez Store Configuration for Rules. Dans le code, vous verrez aussi que la règle attend environ 15 secondes après le provisionnement de l’utilisateur. C’est parce qu’il faut quelques secondes avant que l’utilisateur provisionné soit disponible dans Office 365.
Ce code illustre le processus de provisionnement d’un nouvel utilisateur, mais vous pouvez aussi l’adapter pour synchroniser les métadonnées d’utilisateurs existants.

Expérience utilisateur

Le moyen le plus simple pour vos utilisateurs externes de s’authentifier consiste à utiliser la connexion initiée par le fournisseur d’identité. Vous devez rediriger vos utilisateurs vers l’URL suivante (p. ex. en utilisant un “smart link” comme https://office.travel0.com) : Cela leur affichera la page de connexion Auth0, après quoi ils seront redirigés vers Office 365. Il est important d’expliquer aux utilisateurs externes qu’il s’agit de la seule façon pour eux de s’authentifier, puisque la page de connexion d’Office 365 ne prend pas en charge Home Realm Discover pour ces utilisateurs. Cela signifie aussi que, lorsqu’ils essaieront d’ouvrir un lien, ils devront d’abord passer par le smart link avant de pouvoir accéder au lien qu’ils ont tenté d’ouvrir. Dans cet exemple, Travel0 a activé quelques comptes de réseaux sociaux et une connexion de base de données pour son application tierce Office 365 dans Auth0.

Liens profonds

Certaines mises en œuvre peuvent nécessiter des liens profonds (par exemple, vers SharePoint Online). Dans ce cas, il faut créer un smart link qui mène d’abord à la page de connexion d’Office 365 :
Le premier paramètre, {yourCustomDomain}, doit correspondre au domaine que vous avez configuré dans Azure AD pour (p. ex., travel0.com). En le spécifiant comme whr, Azure AD saura qu’il doit rediriger vers Auth0 au lieu d’afficher la page de connexion. Le paramètre DEEP_LINK doit être une URL encodée dans Office 365 (par exemple, une page de SharePoint Online ou d’Exchange). Exemple d’URL :