web-dev-qa-db-ja.com

ADAL JS-response_type = "token"はサポートされていません

Azure ADでの認証にadal jsを使用しています。 webAppとwebApiがあります。私のアプリのほとんどはこのサンプルに準拠しています https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet

私は自分のwebAppにログインでき、adal.jsは自分のwebApiのトークンを正常に取得し、それをリクエストに挿入しました。最近まですべてが働いていました。次に、webApiのトークン取得がエラーで機能しなくなりました。

「response_type 'token'はアプリケーションでサポートされていません」

renewTokenが失敗しました:AADSTS70005:response_type 'token'はアプリケーションでサポートされていませんトレースID:104c18e3-eb6e-42a4-a292-c6f170f27f65相関ID:c2e65622-0c58-473a-8184-b3056fb1af58タイムスタンプ:2015-03-27 22:53 :12Z

Adal.jsがリクエストを作成していて、クエリ文字列に "response_type = token"を挿入していることがはっきりとわかります。つまり、Azure AD側で何かが変更されたと私は想定しています。

Response_type = tokenと暗黙の付与フローを関連付ける1つの記事を見つけました。私のwebAppで「oauth2AllowImplicitFlow」が有効になっていることを確認しました。 MSサポートに連絡し、解決を待っています。その間、私はこれをコミュニティーと共有して、誰かが問題に関して何か情報を持っているかどうかを確認したいと思いました。

ありがとう

21
serg.salo

webAppを再作成すると問題が解決しました。私はまだMSで根本的な原因を調査しています。 2つのアプリのマニフェストは、AADクライアントID以外は変わりません。

更新

解決策については私のコメントを参照してください

6
serg.salo

クライアント側アプリを構築する場合は、アプリケーションマニフェストからの暗黙のフローを有効にする必要があります。

  "oauth2AllowImplicitFlow": true,
  1. アプリケーション構成のAzureポータルを開き、「Manage Manifest」メニューからマニフェストファイルをダウンロードします。

enter image description here

  1. oauth2AllowImplicitFlowを検索して、値をtrueに変更します。

  2. upload同じメニューからもう一度ファイルをアップロードします。

ログアウトして、アプリに再度ログインします。うまくいくでしょう。


Azure ADポータルから構成することもできます。

  • アプリケーションページで、[Authentication]をクリックし、[Advanced Settingsの横にあるチェックボックスをオンにしますAccess tokensおよびID tokensアプリケーションのOAuth2暗黙的許可を有効にします。

oAuth2暗黙的フローの詳細>> link

暗黙的な付与タイプは、モバイルアプリおよびWebアプリケーション(つまり、Webブラウザーで実行されるアプリケーション)に使用されます。クライアントの秘密の機密性は保証されません...

41
alaasdk