Utiliser l’authentification unique (SSO) ou le partage de ressources cross-origin (CORS) dans votre complément Outlook basé sur les événements ou le courrier indésirable
Lorsqu’un complément Outlook implémente l’activation basée sur les événements ou la création de rapports de courrier indésirable intégrés, les événements s’exécutent dans un runtime distinct. Pour configurer l’authentification unique (SSO) ou demander des données externes via le partage de ressources cross-origin (CORS) dans ces compléments, vous devez configurer un URI connu. Grâce à cette ressource, Office sera en mesure d’identifier les compléments, y compris leurs fichiers JavaScript, qui prennent en charge les demandes d’authentification unique ou CORS.
Remarque
Les étapes décrites dans cet article s’appliquent uniquement aux compléments Outlook qui s’exécutent dans outlook classique sur Windows. Cela est dû au fait qu’Outlook classique sur Windows utilise un fichier JavaScript, tandis qu’Outlook sur Mac, sur le web et les nouveaux Outlook sur Windows utilisent un fichier HTML qui fait référence au même fichier JavaScript. Pour plus d’informations, consultez Configurer votre complément Outlook pour l’activation basée sur les événements et Implémenter un complément de création de rapports de courrier indésirable intégré.
Répertorier les compléments autorisés dans un URI connu
Pour répertorier les compléments autorisés à utiliser l’authentification unique ou CORS, créez un fichier JSON qui identifie chaque fichier JavaScript pour chaque complément. Ensuite, hébergez ce fichier JSON à un URI connu. Un URI connu autorise la spécification de tous les fichiers JS hébergés autorisés à obtenir des jetons pour l’origine web actuelle. Cela garantit que le propriétaire de l’origine a un contrôle total sur les fichiers JavaScript hébergés qui sont destinés à être utilisés dans un complément et ceux qui ne le sont pas, ce qui empêche toute faille de sécurité concernant l’emprunt d’identité, par exemple.
L’exemple suivant montre comment configurer l’authentification unique ou CORS pour deux compléments (une version principale et une version bêta). Vous pouvez répertorier autant de compléments que nécessaire en fonction du nombre que vous fournissez à partir de votre serveur web.
{
"allowed":
[
"https://addin.contoso.com:8000/main/js/autorun.js",
"https://addin.contoso.com:8000/beta/js/autorun.js"
]
}
Hébergez le fichier JSON sous un emplacement nommé .well-known
dans l’URI à la racine de l’origine. Par exemple, si l’origine est https://addin.contoso.com:8000/
, l’URI connu est https://addin.contoso.com:8000/.well-known/microsoft-officeaddins-allowed.json
. Pour plus de précision, ce fichier doit être hébergé dans votre complément web Office, et non dans le serveur web auquel vous tentez d’effectuer une requête CORS. Consultez l’exemple Outlook-Add-in-SSO-events pour obtenir un exemple d’utilisation de l’emplacement recommandé.
L’origine fait référence à un modèle de schéma + sous-domaine + domaine + port. Le nom de l’emplacement doit être .well-known
, et le nom du fichier de ressources doit être microsoft-officeaddins-allowed.json
. Ce fichier doit contenir un objet JSON avec un attribut nommé allowed
dont la valeur est un tableau de tous les fichiers JavaScript autorisés pour l’authentification unique pour leurs compléments respectifs.
Après avoir configuré l’URI connu, si votre complément implémente l’authentification unique, vous pouvez appeler l’API getAccessToken() pour obtenir un jeton d’accès avec l’identité de l’utilisateur.
Importante
Bien que OfficeRuntime.auth.getAccessToken
et Office.auth.getAccessToken
effectuent les mêmes fonctionnalités de récupération d’un jeton d’accès, nous vous recommandons d’appeler OfficeRuntime.auth.getAccessToken
dans votre complément basé sur les événements ou la création de rapports de courrier indésirable (préversion). Cette API est prise en charge dans toutes les versions du client Outlook qui prennent en charge l’activation basée sur les événements, la création de rapports de courrier indésirable intégré et l’authentification unique. En revanche, Office.auth.getAccessToken
est uniquement pris en charge dans outlook classique sur Windows à partir de la version 2111 (build 14701.20000).