1

Graph API を使用して、ユーザーに代わってメールを送信できる .NET アプリケーションを開発しています。

ユーザーは、アプリケーションを承認するよう求められます。取得したアクセス トークンを使用して、Graph API を呼び出します。リフレッシュ トークンは、 https ://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code で説明されているように、古いトークンが期限切れになったときに新しいアクセス トークンを発行するために使用されます-フロー

いくつかの質問/観察:

  1. ユーザー John が、自分に代わって電子メールを送信することをアプリに承認したとします。管理者が Azure ポータルからアプリを削除しても、John がアプリを承認したときに発行されたアクセス/更新トークンは引き続き機能します。
  • アクセス トークンがまだアクティブな場合は、それを使用してグラフ API を呼び出すことができます。
  • アクセス トークンの有効期限が切れている場合でも、更新トークンを使用して新しいアクセス トークンを要求できます。

この動作は意図したものですか?

https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/users-revoke-accessおよびhttps://docs.microsoft.com/en-us/powershell/を読んだ後module/azuread/revoke-azureaduserallrefreshtoken?view=azureadps-2.0ユーザーからアプリを削除するだけでは、トークンは取り消されないようです。

  1. ユーザー John が、自分に代わって電子メールを送信することをアプリに承認したとします。John がhttps://myapplications.microsoft.comにアクセスしてアプリを削除すると、更新トークンを使用して新しいアクセス トークンを取得できなくなりますが、これは想定どおりです。

しかし、John が自分に代わってアクションを実行するためにアプリケーションを再承認すると、そのアプリケーションはhttps://myapplications.microsoft.comに表示されなくなります。この動作は少し矛盾しているようです。ユーザーがアプリケーションへのアクセスを取り消す適切な方法は何ですか?

4

1 に答える 1