web-dev-qa-db-fra.com

Autorisations d'application Azure AD App vs autorisations déléguées

Je crée une application Azure AD et j'ai remarqué qu'il existe deux types d'autorisations, les autorisations d'application et les autorisations déléguées. Quelle est la différence entre les deux et dans quel scénario dois-je les utiliser?

47
Arjuna

Vous utilisez généralement des autorisations déléguées lorsque vous souhaitez appeler l'API Web en tant qu'utilisateur connecté. Supposons, par exemple, que l'API Web doit filtrer les données qu'elle renvoie en fonction de l'utilisateur ou exécuter une action en tant qu'utilisateur connecté. Ou même simplement pour enregistrer quel utilisateur a initié l'appel.

Les autorisations d'application sont utilisées lorsque l'application appelle l'API en tant que telle. Par exemple, pour obtenir les prévisions météorologiques d'un certain code postal (peu importe l'utilisateur connecté). Le client peut même appeler l'API lorsqu'il n'y a aucun utilisateur présent (certains services d'arrière-plan appellent l'API pour mettre à jour certains statuts).

44
MvdD

De la documentation ici: https://msdn.Microsoft.com/en-us/library/Azure/dn132599.aspxhttps://Azure.Microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#updating-an-application (voir Accessing Web API in Other Application section) Configurer une application cliente pour accéder aux API Web :

  • Autorisations d'application : votre application doit accéder directement à l'API Web en tant que telle (pas de contexte utilisateur). Ce type d'autorisation nécessite le consentement de l'administrateur et n'est également pas disponible pour les applications clientes natives.
  • Autorisations de délégation : votre application doit accéder à l'API Web en tant qu'utilisateur connecté, mais avec un accès limité par l'autorisation sélectionnée. Ce type d'autorisation peut être accordé par un utilisateur, sauf si l'autorisation est configurée comme nécessitant le consentement de l'administrateur.

En fonction de cela, si votre application nécessite l'emprunt d'identité d'un utilisateur, vous devez alors utiliser les autorisations de délégation.

22
Gaurav Mantri