Connecter des applications hébergées par fournisseur à SharePoint Online

Auth0 peut grandement simplifier le processus d’authentification pour les applications SharePoint. Auth0 négociera un jeton d’accès que vous pourrez ensuite utiliser pour appeler les API SharePoint.

Vous n’aurez pas besoin de bibliothèques spéciales. Vous pouvez utiliser n’importe quelle trousse SDK prise en charge par Auth0.

1. Enregistrez votre application dans Auth0

Enregistrez une nouvelle application dans Auth0 comme vous le faites d’habitude : Applications > NOUVELLE. Choisissez une des trousses SDK disponibles pour des instructions détaillées. Notez le client_id, car vous en aurez besoin à l’étape suivante.

2. Créez un package pour votre application

Vous devrez obtenir un ID Clientet un Secret client pour votre application. Il existe de nombreuses façons d’enregistrer votre application, en fonction de l’utilisation prévue.

Enregistrer des compléments SharePoint (Microsoft Docs) explique toutes les façons d’enregistrer votre application dans SharePoint. Cette étape du didacticiel utilisera la forme la plus simple : auto-enregistrement dans un locataire précis (le vôtre).

Ouvrir SharePoint Online

L’URL du tableau de bord est https://{your Office365 tenant}.sharepoint.com/_layouts/15/appregnew.aspx

Générez un Client_Id et ClientSecret :

SharePoint - generate client id - generate client secret

Remplissez le formulaire :

Étant donné qu’Auth0 se trouve placé entre votre application et l’infrastructure Office 365, vous devez utiliser cette URL pour l’application :

Domaine de l’application :

{yourDomain}

URI de redirection :

https://{yourDomain}/login/callback?SP_APP_TOKEN&connection=CONNECTION&client_id={yourClientId}&redirect_uri={https://yourApp/callback}

  • connection is just the name you will use in Auth0’s connections (such as "sharepoint").

  • client_id identifie votre application dans Auth0 (créée à l’étape 1).

  • redirect_uri est l’emplacement réel de votre application, où vos utilisateurs seront redirigés une fois toutes les négociations terminées. Si vous ne le précisez pas implicitement, ce sera toujours l’URL de rappel définie dans Auth0 (p. ex. localhost)

Packagez l’application et téléversez-la vers SharePoint :

Remplissez les informations dans le manifeste de l’application dans Visual Studio :

SharePoint - Visual Studio - Application Manifest

Notez que la Query string sera identique à la Redirect URI que vous avez indiquée précédemment. Cliquez ensuite avec le bouton droit sur le projet et sélectionnez Publier :

Créez un Profil de publication (vous devrez saisir les mêmes ID Client & Secret Client obtenus dans le tableau de bord SharePoint).

Cliquez sur Créer un package et téléversez le fichier résultant vers SharePoint.

3. Créez la connexion dans Auth0

La dernière de l’étape de l’intégration consiste à ajouter une connexion SharePoint dans Auth0.

Vous aurez besoin de :

  • Connection Name. Il s’agit d’un nom arbitraire. Il doit cependant correspondre à celui que vous avez saisi à l’étape 2.

  • Client Id & Client Secret. Doivent également correspondre à ceux que vous avez saisi à l’étape 2.

  • Test SharePoint Site Url. Il s’agit de l’URL du site SharePoint à utiliser pour tester la connexion (par exemple en appuyant sur le bouton « Essayer » dans le tableau de bord). Il n’est jamais utilisé au moment d’exécution, car les utilisateurs suivront toujours le lien vers votre site à partir de SharePoint.

Les utilisateurs installeront votre application depuis Office Marketplace. Lorsqu’ils cliqueront sur ce lien, ils seront dirigés vers Auth0 (qui négociera le jeton d’accès pour vous) et enfin vers votre application. Votre application recevra un Profil utilisateur qui ressemblera à ce qui suit :

Office Marketplace - Redirect -  User Profile Example

Les propriétés suivantes seront présentes : cacheKey, refresh_token, host et site. Elles vous permettront de rappeler les API de SharePoint (telles que les listes).