Prérequis
- Configurer Office 365 : enregistrer un et configurer Office 365 comme application tierce dans Auth0.
Configurer Azure AD
- Connectez-vous à l’Azure Portal.
- Choisissez Azure Active Directory dans le menu de navigation de gauche.
- Sélectionnez App registrations dans le nouveau menu.
- Cliquez sur New application registration.
-
Remplissez le formulaire :
- Entrez un nom pour l’application (par exemple
Auth0 Provisioning) - Sélectionnez Web app / API comme Type d’application.
- Saisissez une URL de connexion. Vous pouvez entrer n’importe quelle URL valide; elle ne sera pas vraiment utilisée.
- Entrez un nom pour l’application (par exemple
- L’application nouvellement créée apparaîtra dans la liste App registrations. Sélectionnez-la.
- Dans le volet Settings (Microsoft appelle ces sections des « blades »), choisissez Keys.
-
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. - 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.
- 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éez la règle 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 le Client ID et la clé Azure AD pour obtenir un jeton d’accès pour la Graph API.
- 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 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
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
{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 :