Prérequis
- Configurer Office 365 : enregistrer un et configurer Office 365 comme application tierce dans Auth0.
Configurer Azure AD
- Ouvrez une session dans le portail Azure.
- Choisissez Azure Active Directory dans le volet de navigation de gauche.
- Sélectionnez App registrations dans le nouveau menu.
- Cliquez sur New application registration.
-
Remplissez le formulaire :
- Saisissez un nom pour l’application (par exemple,
Auth0 Provisioning) - Sélectionnez Web app / API comme Application type.
- Entrez une URL d’ouverture de session. Vous pouvez saisir n’importe quelle URL valide; elle ne sera pas vraiment utilisée.
- Saisissez un nom pour l’application (par exemple,
- L’application nouvellement créée s’affichera dans la liste App registrations. Sélectionnez-la.
- Dans le volet Settings (Microsoft appelle ces sections des « blades »), choisissez Keys.
-
Saisissez une Description (par exemple,
Auth0 Provision), puis choisissez une Duration pour la nouvelle clé. Si vous choisissez d’émettre une clé non permanente, notez sa date d’expiration et créez un rappel pour la remplacer avant qu’elle n’expire. - Cliquez pour enregistrer la clé, puis copiez l’App Key. Cette clé ne sera affichée qu’une seule fois et elle est requise pour la Rule Auth0.
- Choisissez Required permissions, puis cliquez sur Add dans le nouveau volet.
-
Sélectionnez l’API Microsoft Graph, puis cochez
Read and write directory datasous Application Permissions. - De retour dans Required permissions, cliquez sur le bouton Grant Permissions, puis sur Yes pour accorder les autorisations demandées.
Créer la Rule de provisionnement Azure AD
- Si l’utilisateur provient de la connexion AD, ignorez le processus de provisionnement (car il sera pris en charge par DirSync).
- Si l’utilisateur a déjà été provisionné dans Azure AD, poursuivez simplement la transaction de connexion.
- Utilisez l’ID client et la clé Azure AD pour obtenir un Jeton d’accès pour l’API Graph.
- Créez un utilisateur dans Azure AD.
- Attribuez une licence à l’utilisateur.
- Poursuivez la transaction de connexion.
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 qu’elles soient accessibles dans le code de votre Rule. Pour en savoir plus, consultez Store Configuration for Rules.
Dans le code, vous verrez aussi que la Rule 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 montre le processus de provisionnement d’un nouvel utilisateur, mais vous pouvez aussi l’adapter pour synchroniser les métadonnées des utilisateurs existants.
Expérience utilisateur
https://office.travel0.com) :
Cela leur affichera la page de connexion Auth0, après quoi ils seront redirigés vers Office 365. Il sera important d’expliquer aux utilisateurs externes que c’est la seule façon pour eux de s’authentifier, puisque la page de connexion d’Office 365 ne prend pas en charge la détection du realm d’origine pour ces utilisateurs externes. Cela signifie aussi que, lorsqu’ils tenteront d’ouvrir un lien, ils devront d’abord passer par le lien intelligent avant de pouvoir accéder au lien qu’ils essayaient d’ouvrir.
Dans cet exemple, Travel0 a activé quelques connexions sociales et une connexion de base de données pour son application tierce Office 365 dans Auth0.
Liens profonds
{yourCustomDomain}, doit être le domaine que vous avez configuré dans Azure AD pour l’ (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 au sein d’Office 365 (par exemple, une page dans SharePoint Online ou Exchange).
URL d’exemple :