0

私のソリューションは、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を最大限に活用した結果が得られた人はいますか?

答えて

0

Azure AD登録ポータルで暗黙的な許可フローを有効にするには、アプリマニフェストに"oauth2AllowImplicitFlow":trueを追加する必要があります。さらに、暗黙の助成金の流れがあなたにリフレッシュトークンを与えることはありません

https://docs.microsoft.com/en-us/azure/active-directory/active-directory-integrating-applications

:このドキュメントの「単一ページのアプリケーション用のOAuth 2.0の暗黙の助成金を有効にする」セクションには、それを行う方法についてのステップバイステップの方向性を詳しく説明しています、offline_accessスコープは特にリフレッシュトークンを要求しています。私はその範囲を削除することをお勧めします。

ここAAD上の暗黙の補助金の詳細についての詳細読書のための優れたドキュメントです:

https://docs.microsoft.com/en-us/azure/active-directory/active-directory-dev-understanding-oauth2-implicit-grant

関連する問題