2017-11-24 2 views
5

Windows認証を取り除くために、Angular SPA + .ASPNET Core APIをADFS(構内)に設定しようとしています。最終的な目標は、次のようになります。ADFS 2016 - OpenID Connectのディスカバリエンドポイントに関するCORSの問題

  • アンギュラSPA - > ADFSにユーザーをリダイレクトし、バック
  • 角度SPA id_token受け取る - >時間からのトークンを更新します - >
  • 角度SPA APIを呼び出すために、このトークンを使用します時間

Angular SPAとAPIは、ADFSで正しく構成されています。私はangular-oauth2-oidcを使ってスパを設定しています。

問題点は、SPAをロードするときに、SPAがOpenId Discoveryエンドポイント(.well-known/openid-configuration)に到達しようとしたときにCORSエラーが発生することです。だから私はADFSにユーザーをリダイレクトすることはできません。何も動作しません。

私は多くのオンラインを見て、ADFSがCORSをサポートしていないと言っている多くの人しか見つけませんでした。しかし、奇妙に見えます。マイクロソフトではSingle Page Applicationsをサポートしていると主張しているため、ADFSがCORS要求を受け取ることは多かれ少なかれ想定されます。

誰もがこの問題にぶつかりましたか?マイクロソフトがこれを実装し、CORS要求を許可する方法で構築していないことは真剣ですか?

編集:また、adal.jsの周りにラッパーを作成しようとしました。ユーザーをADFSにリダイレクトしてログインし、id_tokenを取得しました。今問題は、stsがトークン内のスパのaudクレームを返すことであり、APIのクレームは返されないということです。 SPAがトークンを使用してAPIを呼び出すと、期待どおりに失敗します。私はこれについて行き詰まったような気がする。

答えて

関連する問題