jwt.ioを使用することで、私のアプリケーションがMicrosoft Graph APIのために取得するトークンが、Directory.Read.AllとUser.Readのスコープしか含まない:Microsoft Graph APIトークンのスコープがAzureポータルで設定されているスコープと異なる
そして、これは私がこのようなUser.ReadBasic.Allなど多くのスコープを、含まれているAzureのポータルに設定された権限とは異なります。
私はとにかくこれを修正するには?
jwt.ioを使用することで、私のアプリケーションがMicrosoft Graph APIのために取得するトークンが、Directory.Read.AllとUser.Readのスコープしか含まない:Microsoft Graph APIトークンのスコープがAzureポータルで設定されているスコープと異なる
そして、これは私がこのようなUser.ReadBasic.Allなど多くのスコープを、含まれているAzureのポータルに設定された権限とは異なります。
私はとにかくこれを修正するには?
これは、ユーザーが既にログインしてアプリに同意した後で、アプリに戻って追加の権限を追加したときによく見られます。そのユーザーは引き続き「古い」権限を取得しますが、新しいユーザーは新しいセットを取得します。
私の推測が正しいとすれば、当初はDirectory.Read.All
とUser.Read
のアプリしか登録していなかったはずです。あなたはあなたのユーザーアカウントでログインしました。その後、追加の権限を追加して再試行しました。それは正しいと思いますか?
Azureのv1エンドポイントは、既に同意したユーザーのスコープを動的に更新しないという問題があります。これらのユーザーには「再同意」のエクスペリエンスを強制する必要があります。承認URLにprompt=consent
パラメータを追加します。これにより、ユーザーは更新されたアクセス許可リストで同意画面を再度表示する必要があります。
[Graph Explorer](https://graphexplorer.cloudapp.net)からサービスプリンシパルのグラントを確認してください。 '/ servicePrincipals'の下にアプリのプリンシパルを見つけ、'/servicePrincipals/object-id/oauth2PermissionGrants'をチェックしてください。これにより、どの委任された権限がアプリに対して承認されたかがわかります。 – juunas
@juunasグラフエクスプローラの完全なリクエストリンクを張ることができます、申し訳ありませんが、私はまだマイクロソフトのグラフに新しいです – yfan183
うわー、グラフエクスプローラは今更新されました..したがって、新しいアドレスは実際にはhttps:// graphexplorer .azurewebsites.net /。そこにサインインし、テキストボックスに 'https:// graph.windows.net/myazuread.onmicrosoft.com/servicePrincipals'と入力して、Goを押します。ところで、このエクスプローラはAzure AD Graph API用であり、Microsoft Graph API用ではありません。異なるAPI。しかし、ここでのポイントは、Azure ADでアプリの許可を確認することです。 – juunas