web-dev-qa-db-fra.com

Azure Active Directory - Autoriser les audiences de jetons

J'essaie de trouver de la documentation sur "AUDIENCES JETONS AUTORISÉES" dans Azure, mais il ne semble pas y en avoir. La valeur que j'ai placée là-dedans était l'ID de ressource qui a été retourné avec le jeton.

Qu'est-ce que ça veut dire? tout lien vers la documentation sera très apprécié.

PS. le lien d'apprentissage sur la page réelle ne mentionne rien à ce sujet, et les captures d'écran semblent plus anciennes et n'ont pas ce champ.

merci d'avance

enter image description here

18
noobie

J'ai aussi trébuché sur la documentation. Voici ce que j'ai appris à travailler avec une application Angular Front-end qui utilise une application API back-end.

Dans l'application frontale, l'utilisateur clique sur un lien et s'authentifie auprès d'Azure Directory. Le jeton est conservé en session dans le navigateur.

Ensuite, l'utilisateur souhaite interagir avec l'application API.
Voici comment:

  • Accédez au service d'application de l'API App dans Azure.
  • Accédez à Authentification/Autorisation
  • Activer "ON" l'authentification App Service
  • Sous Fournisseurs d'authentification, sélectionnez "Azure Active Directory"
  • Choisissez le bouton "Avancé"
  • Dans le champ ID client, insérez "l'ID d'application" à partir de l'inscription à l'application Azure Active Directory de votre application API. Vous devez déjà avoir enregistré l'application API dans Azure Active Directory.
  • Dans le champ "Audiences de jeton autorisées", insérez l '"ID d'application" de l'enregistrement d'application Azure Active Directory de votre application frontale. Vous devez déjà avoir enregistré l'application frontale dans Azure Active Directory.

La sécurité est si importante. Cela me fait penser à quel point la documentation est confuse autour de ce genre de choses. Owin/Katana semble en voie de disparition. Sur la base de cette configuration, vous n'en aurez pas besoin. L'autre signe que Owin est un enfer est le changement de rupture massif lié à Microsoft/System IdentityModel qui semble impossible à construire, à discerner, à réparer, yada yada. Je souhaite que Microsoft crée un "endpoint" qui montrerait ce qui est sorti et ce qui est dedans. Et comment faire cette étape particulière. Si vous pouvez faire en sorte que vos applications le fassent, c'est vraiment propre.

enter image description here

10
LargeDachshund

D'après mon expérience, la valeur de ce champ (ou l'une des valeurs) doit correspondre à ce qui se trouve dans le champ "audience" du jeton qui est envoyé à votre service (juunas a dit autant qu'un commentaire sur la question ci-dessus) . La suggestion de bwmartens ci-dessus d'utiliser l'URI de l'ID d'application semble fonctionner, mais la version actuelle du panneau d'enregistrement AAD dans le portail Azure ne répertorie pas une valeur "URI ID d'application" et il ne semble pas y avoir de "Paramètres -> Propriétés" plus (le site ne cesse de changer).

Dans mon cas, le simple fait de mettre l'ID d'application n'a pas fonctionné. J'ai constaté que les deux façons les plus simples de trouver la valeur requise ici sont:

  1. Accédez à l'enregistrement AAD pour votre service et regardez dans le manifeste dans le champ "identifierUris". D'après mon expérience, la valeur ici doit correspondre à la valeur que vous avez mise dans la liste Audiences de jetons autorisées.
  2. Obtenez un JWT que vous envoyez à votre service et décodez-le (par exemple en utilisant http://jwt.calebb.net/ ) et regardez la valeur du champ "aud". Mettez cela dans la liste Audiences de jetons autorisées.
1
Auth Infant