web-dev-qa-db-ja.com

アプリには、管理者だけが付与できる組織内のリソースにアクセスするための権限が必要です

Microsoft Graphとスコープopenid、電子メール、プロファイル、およびuser.readBasic.allを使用して、パブリックコミュニティ(ADおよびライブユーザーはログインできます)用の統合アプリケーションを作成しました。

ライブユーザーはすべて正常に機能しますが、一部のADユーザーはログインできません。ログインしようとすると、次のようなメッセージが表示されます。

「アプリには、組織内のリソースにアクセスするための権限が必要です。この権限は、管理者のみが付与できます。このアプリを使用する前に、このアプリに権限を付与するよう管理者に依頼してください。」

microsoftによる ドキュメント 管理者の同意URLを次のように準備しました

https://login.microsoftonline.com/<TenantID>/oauth2/authorize?client_id=<AppID>&response_type=code&redirect_uri=<RedirectURI>&Prompt=admin_consent

管理者の同意後、ユーザーはアプリにログインできなくなります。ここで不足しているものを助けてください。

6
Venuu Munnuruu

URLはv2エンドポイント(コンバージドエンドポイント)ではなく、v1エンドポイント用です。

次のようになります(読みやすくするために改行しています)。

https://login.microsoftonline.com/common/adminconsent?
client_id=[APPLICATION ID]&redirect_uri=[REDIRECT URI]

これは/adminconsent のではなく /authorizeおよびPromptクエリパラメータはありません。また、登録には同意したいスコープが含まれていることを確認する必要があることにも注意してください。

ここで役立つと思われるプロセス全体を紹介する記事を書きました: v2エンドポイントと管理者の同意

5
Marc LaFleur