私のソリューションは、IdentityServer3を使用してAzure ADに対して認証をうまく行っています。今、Microsoft Graphの一部の機能を統合しようとしています。残念ながら、それは悲惨に失敗しています。IdentityServer3 Microsoft Graphのスコープとフロー
デモ(https://graph.microsoft.io/en-us/docs/get-started/aspnetmvc)プロジェクトの1つを実行すると、Microsoftアプリケーション登録ポータル(https://apps.dev.microsoft.com)で新しいアプリケーションの登録が詳述され、暗黙のフローを許可するよう明示的にアプリケーションに指示します。
が暗黙のフローチェックボックスが選択されている許可、およびリダイレクトURIとして http://localhost:55065/を入力していることを確認します。 暗黙のフローを許可する オプションを使用すると、OpenID Connectハイブリッドフローが有効になります。認証中に を入力すると、アプリケーションが にアクセストークンを取得するために使用するログイン情報(id_token)と のアーティファクト(この場合は認証コード)の両方を受け取ることができます。もちろん
、我々はすでに我々の認証を行いAzureでの当社の生産ポータルに登録されたアプリケーションを持っている、とIdentityServer3で私たちのクライアントから、我々は我々が今していることを示しているように思われるFlow = Flows.Implicit
として設定フローを持っています暗黙のフローのみを許可しますが、暗黙のフローは期待しています。
追加のスコープ(offline_access User.Read Mail.Send
)を追加すると、正常に認証できなくなり、代わりにInvalid Scope
というエラーが表示されます。
私の懸念は、「Microsoft App Registration Portal」は、実際の生活とはちょっと違い、何かが正しく設定されていないことです。プロダクションAzure App Registrationには特定の "Allow Implicit Flow"設定はありませんので、実際にImplicit Flow
を受け入れていますか?
IdentityServer3を利用したAzure ADに対する単一の認証から、これらの2つのシステムを統合し、Microsoft Graphを最大限に活用した結果が得られた人はいますか?