Configurer les Autorisations de l'Application dans Azure AD

Fond

J'ai une Web API inscrit dans Azure AD et sécurisé à l'aide de WindowsAzureActiveDirectoryBearerauthentication (OAuth2 porteur du jeton). C'est un B2B-type de scénario où il n'y a pas les utilisateurs interactifs - les applications de l'appel de l'API sont des démon-comme arrière-plan des applications. En tant que tel, je n'ai pas besoin du consentement de l'expérience - je veux juste les applications de confiance pour être en mesure d'appeler l'API, et d'autres applications, même si elles peuvent présenter une pièce d'jeton OAuth - être refusé.

Ce que j'ai essayé

Cet exemple semblait décrire mon scénario presque exactement. Cependant, la façon dont il détermine si l'appelant est une application légitime ou pas, c'est en comparant le clientID présentés au moyen d'une réclamation de l'appelant à une valeur codée en dur. Évidemment, vous pouvez stocker la liste de confiance clientIDs de l'extérieur au lieu de coder en dur, mais il semble que je devrais être en mesure d'accomplir ce via la configuration dans l'AAD portail de sorte que a) je n'ai pas de maintenir une liste de clientIDs, et b) je n'ai pas à écrire mon propre logique d'autorisation.

Il semble que je devrais être en mesure de définir une permission pour mon API, accorder cette autorisation à chaque application appelante dans l'AAD (ou un admin consentement), et puis dans mon API seulement de vérifier la présence de cette autorisation dans le scp demande.

De la recherche sur le portail, il semble que c'est ce que Demande les Autorisations sont destinés à:
Configurer les Autorisations de l'Application dans Azure AD

Je peux créer un permission juste à l'amende par le manifeste de l'application. Malheureusement, je ne peux pas comprendre comment spécifier que c'est une Demande de Permission, et non un Délégué Permission! J'ai essayé de changer les type de l'Utilisateur à l'Admin comme décrit sur MSDN, mais qui ne semble avoir aucun effet.

"oauth2Permissions": [
{
  ...
  "type": "Admin",
  ...
}

Question

Suis-je correct que les Autorisations de l'Application sont la meilleure solution pour mon scénario? Si oui, comment dois-je le configurer? Ou, comme je le crains, est-ce encore une autre caractéristique qui est Sur La feuille de route™, mais pas actuellement en état de fonctionnement?

OriginalL'auteur BenV | 2015-01-09