Table of contents
TOC
Réduire la table des matières
Développer la table des matières
Dernière mise à jour: 25/07/2018

Comprendre l’authentification avec les API Office 365

Concerne : Office 365

Pour qu’elle puisse accéder aux données Office 365 d’un utilisateur, votre application doit d’abord prouver qu’elle est bien l’application qu’elle déclare être et qu’elle est autorisée à accéder aux données de l’utilisateur. Cette rubrique donne un bref aperçu de la façon dont ce processus d’authentification est implémenté par les services Office 365, et inclut des pointeurs vers des ressources où vous pourrez en apprendre plus sur le traitement de l’authentification pour vos applications.

Concepts d’authentification

Avant de discuter de l'autorisation, il y a plusieurs termes avec lesquels vous devez vous familiariser.

  • Authentification fait référence à la vérification de l'identité d'une application ou d'un utilisateur.

    Tous les comptes d'utilisateurs, les enregistrements d'applications et les autorisations sont stockés dans Azure AD. Cela vous permet de fournir des informations d’identification pour l’ouverture de session et d’être confirmé en tant qu’utilisateur valide.

    Pour plus d'informations sur l'authentification, voir Scénarios d'authentification pour Azure AD.

  • Autorisation est le processus d'octroi d'accès aux ressources, ainsi que la spécification du niveau d'accès autorisé.

    Par exemple, votre application peut avoir besoin d'accéder à la liste des événements du calendrier d'un utilisateur. Lorsque vous donnez l’autorisation Read au calendrier, l’application aura l’autorisation de générer une liste des événements du calendrier de l’utilisateur.

    Pour plus d'informations sur l'autorisation, voir Utiliser Active Directory pour l'authentification dans Azure App Service

  • Le consentement, comme l’autorisation, fait référence à l’octroi d’une autorisation à une application ou un utilisateur pour utiliser certaines ressources. Il donne à l'utilisateur la possibilité d'accorder ou de refuser l'accès à des ressources spécifiques.

    Un exemple est lorsqu’un utilisateur installe une application. L'infrastructure de consentement demandera à l'utilisateur s'il souhaite autoriser l'application à accéder à sa boîte aux lettres. L’utilisateur verra cette demande d’accès de l’application à sa boite aux lettre dans une boîte de dialogue. Il acceptera ou refusera la demande.

Office 365 utilise Azure AD pour l’authentification

Les services API Office 365 utilisent Azure Active Directory (Azure AD) pour fournir une authentification et une autorisation sécurisées aux données Office 365 des utilisateurs. Azure AD implémente les flux d'autorisation selon le protocole OAuth 2.0.

Deux étapes de base seront donc nécessaires pour autoriser votre application à s’authentifier pour accéder aux données Office 365 :

  • Enregistrer votre application auprès d’Azure AD
  • Implémenter du code dans votre application pour gérer le flux d’authentification approprié

Enregistrer votre application avec Azure AD pour accéder aux services de l’API Office 365

Lorsque vous créez une application qui a besoin d’accéder aux services de l’API Office 365, vous devez pouvoir indiquer au service que votre application dispose des droits d’accès appropriés. Les API Office 365 utilisent Azure AD pour fournir des services d’authentification que vous pouvez utiliser pour accorder des droits à l’application pour accéder à ces services.

Pour lui permettre d'accéder aux API Office 365, vous devez enregistrer votre application avec Azure AD. L’enregistrement de votre application vous permet de :

  • Établir une identité pour votre application. Cela inclut un identifiant client, un identifiant unique pour votre application dans Azure.
  • Indiquer le ou les points de terminaison de l'application qu'Azure utilisera pour la redirection pendant l'authentification.
  • Spécifier les ressources auxquelles il doit accéder et définir les niveaux d'autorisation, ou les étendues, pour accéder à ces ressources.

    Pour une liste complète des étendues d'API Office 365 disponibles, voir Référence des autorisations de l'API Office 365.

Présentation du flux d’authentification

Azure AD implémente le protocole OAuth 2.0 pour autoriser l'accès de votre application aux ressources Office 365. Le protocole OAuth 2.0 définit plusieurs flux d’autorisation. Le flux que vous implémenterez dépend du type d’application que vous créez, qu’il s'agisse d’une application web, telle qu’une solution MVC ou Web Forms, ou d’une application native, telle qu’un smartphone ou autre appareil mobile.

En guise d'introduction, vous trouverez ci-dessous un aperçu global d'un flux d'authentification typique ; ici, le flux d'octroi de code d'autorisation, qui est souvent utilisé pour des applications web.

La gestion réussie des autorisations dans votre application nécessite que vous compreniez le flux d'authentification pour votre type d'application. Pour plus d'informations sur la façon dont Azure AD implémente OAuth 2.0, consultez OAuth 2.0 dans Azure AD.

Exemple : flux d'octroi de code d'autorisation

DescriptionFlux
L’utilisateur visite votre application web, qui a besoin d’informations d’Office 365. Votre application le redirige vers le point de terminaison d'authentification Azure AD.L’utilisateur appelle l’application, et l’application appelle le point de terminaison d’autorisation dans Azure AD.

L'utilisateur authentifie et accorde le consentement, si l'application est configurée avec des droits d'accès restreints.

Azure AD émet un code d’autorisation. Les codes d’autorisation sont utilisés pour demander des codes d’accès à des ressources spécifiques.

Après l’obtention de l’accord de l’utilisateur, Azure AD fournit un code d’autorisation à l’application.

Une fois que votre application a le code d'autorisation, elle peut demander des jetons d’accès et d’actualisation. Votre application transmet le code d’autorisation au point de terminaison de l’émission de jetons Azure AD.

Azure AD renvoie les jetons d'accès et d'actualisation.

L’application transmet le code d’autorisation à Azure AD, et Azure AD renvoie un jeton d’accès et d’actualisation à l’application.

Votre application peut ensuite utiliser les jetons d'accès et d'actualisation pour accéder aux points de terminaison de l'API Office 365 et renvoyer des données.

Votre application peut ensuite présenter ces jetons, au nom de l’utilisateur, au(x) service(s) API Office 365. La ressource spécifiée renvoie ensuite les informations demandées par l'application.

L’application utilise ensuite le jeton d’accès et le jeton d’actualisation pour accéder aux points de terminaison de l’API Office 365.

Afin de réduire le nombre d’appels qu’une application doit effectuer vers Azure AD, et également pour réduire le nombre de consentements qu’un utilisateur doit effectuer, un jeton d’actualisations de ressources multiples est émis par le service d’autorisation. Une fois ce jeton d’actualisation reçu, il peut être utilisé pour demander des jetons d’accès (et des jetons d’actualisation supplémentaires) à plusieurs ressources.

Pour plus d’informations sur les jetons d’actualisation, consultez la rubrique Actualiser des jetons pour plusieurs ressources.

Détail du fonctionnement d’OAuth 2.0 dans Sandbox Office 365 OAuth

Si vous voulez explorer comment fonctionne OAuth 2.0 avec les API REST Office 365, nous avons créé une application web, Office 365 OAuth Sandbox, qui vous permet d'observer les messages et les jetons transmis lorsque l'application s'authentifie auprès d'Azure AD. Vous pouvez également effectuer des exemples d’appels aux API Office 365 et observer les données renvoyées. Pour plus d'informations sur l'utilisation de Sandbox, voir OAuth2 en action avec Office 365 Calendrier, Contacts et Courrier.

Exemples de code de l’API Office 365 qui implémentent une autorisation

Le Référentiel des développeurs Office sur GitHub inclut de nombreux exemples de code qui accèdent aux API Office 365 à l'aide d'Azure AD, notamment :

En outre, le Guide du développeur Azure Active Directory inclut des démarrages rapides et des procédures pratiques illustrant la mise en œuvre de l’authentification Azure AD sur diverses plates-formes de développement, y compris iOS, Android, .NET, Xamarin, et Cordova.

Ressources supplémentaires

© 2018 Microsoft