web-dev-qa-db-fra.com

ADAL JS - response_type = "token" n'est pas pris en charge

J'utilise adal js pour authentifier avec Azure AD. J'ai webApp et webApi. À peu près mes applications suivent cet exemple https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet .

J'ai pu me connecter à ma webApp et adal.js a réussi à acquérir un token pour mon webApi et à l'injecter dans une demande. Tout fonctionnait jusqu'à récemment. Ensuite, l'acquisition de jetons pour webApi a cessé de fonctionner avec une erreur:

"response_type 'token' n'est pas pris en charge pour l'application"

rebuildToken a échoué: AADSTS70005: le type de réponse 'token' n'est pas pris en charge pour l'ID de trace d'application: 104c18e3-eb6e-42a4-a292-c6f170f27f65 ID de corrélation: c2e65622-0c58-473a-8184-b3056fb1af58 Timestamp:53: 2015-03 : 12Z

Je peux clairement voir que adal.js construit une demande et met "response_type = token" dans une chaîne de requête. Donc, mon hypothèse est que quelque chose a changé du côté d'Azure AD.

J'ai trouvé un article qui met en corrélation response_type = token avec le flux de subvention implicite. J'ai confirmé que ma webApp a activé "oauth2AllowImplicitFlow". J'ai contacté le support MS et j'attends une résolution. Pendant ce temps, je voulais partager cela avec la communauté et voir si quelqu'un avait des informations concernant le problème.

Merci

21
serg.salo

recréer ma webApp a résolu le problème. Je recherche toujours la cause profonde de la SP. Les manifestes pour deux applications ne sont pas différents, à l'exception de leurs ID client AAD.

METTRE À JOUR

voir mes commentaires pour résolution

6
serg.salo

Si vous créez une application côté client, vous devez activer le flux implicite à partir du manifeste d'application.

  "oauth2AllowImplicitFlow": true,
  1. Ouvrez le portail Azure de configuration de votre application et téléchargez le fichier manifeste depuis le menu " Gérer le manifeste ".

enter image description here

  1. recherchez oauth2AllowImplicitFlow et changez la valeur en true.

  2. télécharger à nouveau le fichier via le même menu.

Déconnectez-vous et reconnectez-vous à votre application et cela fonctionnera sera un charme.


Il peut également être configuré via le portail Azure AD:

  • Depuis la page d'application, cliquez sur Authentication, et sous Advanced Settings, cochez les cases en regard de Access tokens et ID tokens pour activer l'octroi implicite OAuth2 pour l'application.

plus d'informations sur le flux implicite OAuth2 >> link :

Le type d'octroi implicite est utilisé pour les applications mobiles et les applications Web (c'est-à-dire les applications qui s'exécutent dans un navigateur Web), où la confidentialité du secret client n'est pas garantie ...

41
alaasdk