3

リモート エンドポイントのトークンを取得するときに、ADAL.js が IE で機能しません。サンプル " https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet " は、次のコード行のコメントを解除することを提案しています: " しかし、明らかにそれは役に立ちません。IE と Chrome でアプリケーションを並べて実行します。クロムは問題なく動作します。IE は次のエラーをコンソールに記録します。

エラー:login_required エラーの説明:AADSTS50058: ユーザー アカウント識別子が提供されていません。

繰り返しますが、これは、ADAL がリモート エンドポイント (登録されていて正常に動作している他の WebAPI) のトークンを取得しようとしている場合にのみ当てはまります。https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet/issues/3を作成して発行しましたが、コミュニティで誰かがいくつかの回答を提案できるかもしれません。うまくいけば、ここで本当に明らかなことを見逃していません。

これはすべて localhost に対して行われますが、アプリ (クライアントと webapi) は Azure AD に適切に登録されています (chrome は正常に動作します)。

どんな助けでも大歓迎です、ありがとう

ありがとう、

4

1 に答える 1

5

Adal.js は iframe を使用して、SPA 独自のバックエンド以外のリソースの CORS API トークンを取得します。Iframe 要求は、ブラウザーの Cookie にアクセスして、AAD で認証し、アクセス トークンを取得する必要があります。IE から localhost で実行すると、Cookie にアクセスできません。IE で iframe から Cookie にアクセスするには、 http://test.azurewebsite.comのような完全修飾ドメイン名が必要です。サンプルでは、​​アプリを Azure Web サイトにデプロイする手順について説明します。それらに従って、IE をテストできます。Chrome にはこの制限はありません。

于 2015-03-16T19:08:06.697 に答える