Intégrer un plug-in d’API à une API sécurisée avec OAuth
Un autre modèle courant de sécurisation des API consiste à utiliser OAuth. OAuth est un protocole standard pour l’autorisation. OAuth sécurise l’accès aux ressources à l’aide de jetons d’accès. Pour obtenir un jeton d’accès, vous inscrivez une application auprès du fournisseur d’identité et spécifiez son type, tel que le client public ou confidentiel. Selon le type de votre application, vous devrez peut-être configurer des paramètres supplémentaires tels qu’un secret ou un certificat.
Lorsque les utilisateurs ouvrent votre application, elle démarre le processus d’obtention d’un jeton d’accès. Les étapes exactes suivies par l’application dépendent du type d’application et du flux qu’elle utilise. Lorsque les utilisateurs terminent le flux d’autorisation, ils obtiennent un jeton d’accès qu’ils peuvent utiliser pour appeler l’API.
Lorsque vous intégrez des plug-ins d’API à une API sécurisée avec OAuth, vous avez besoin de l’ID client et de la clé secrète client de l’application qui sécurise l’API. Vous avez également besoin des points de terminaison d’autorisation, de jeton et éventuellement d’actualisation du fournisseur d’identité. Microsoft 365 Copilot utilise ces informations pour s’authentifier auprès de l’API au nom de l’utilisateur actuel et obtenir un jeton d’accès. Étant donné que les informations sont confidentielles, vous les stockez en toute sécurité dans l’emplacement de stockage sécurisé dans Microsoft 365, également appelé coffre. Ensuite, dans votre application, vous référencez l’ID de l’entrée de coffre. Au moment de l’exécution, l’agent déclaratif charge votre plug-in (2) et récupère les informations à partir de l’entrée désignée (3a). L’agent déclaratif suit le type d’octroi du code d’autorisation, également appelé flux de code d’authentification, pour obtenir un jeton d’accès (3b) qu’il utilise pour appeler l’API (3c). Le schéma suivant illustre ce processus.
Lors de la configuration des informations OAuth pour votre plug-in, vous pouvez éventuellement activer la clé de preuve pour l’échange de code (PKCE). Même si vous sécurisez votre plug-in d’API avec un client confidentiel, Microsoft recommande d’utiliser PKCE, car il ajoute une couche de sécurité supplémentaire à votre application avec une surcharge minimale.
Le stockage des informations OAuth dans le coffre vous permet de les sécuriser et de ne pas les exposer au client. Étant donné que votre plug-in fait uniquement référence à l’entrée, vous pouvez également mettre à jour la clé secrète client sans avoir à redéployer votre plug-in.
Pendant le développement, vous pouvez inscrire vous-même vos informations OAuth de développement dans le coffre, soit manuellement en accédant au Portail des développeurs Teams et à partir de la section Outils ouvrant l’inscription du client OAuth, soit en utilisant microsoft 365 Agents Toolkit. En production, en général, un administrateur inscrit les informations OAuth et vous donne l’ID de l’entrée de coffre à utiliser dans votre plug-in d’API.