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を呼び出すと、期待どおりに失敗します。私はこれについて行き詰まったような気がする。