c# - Microsoft 身份 - 撤销授权
问题描述
我正在开发一个 .NET 应用程序,它可以使用 Graph API 代表用户发送电子邮件。
提示用户授权应用程序;然后使用获取的访问令牌调用 Graph API。刷新令牌用于在旧令牌过期时发出新的访问令牌,如下所述:https ://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code -流动
几个问题/观察:
- 假设用户 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似乎只是从用户那里删除应用程序并不会撤销令牌。
- 假设用户 John 授权应用代表他发送电子邮件。如果 John 访问https://myapplications.microsoft.com并删除该应用程序,他将无法使用刷新令牌来获取新的访问令牌,这是预期的。
但是,我注意到如果 John 重新授权该应用程序代表他执行操作,该应用程序将不会再出现在https://myapplications.microsoft.com上。这种行为似乎有点不一致。用户撤销对应用程序的访问权限的正确方法是什么?
解决方案
推荐阅读
- c# - 如何在运行时提升 ac# 进程
- webpack - 如何在 webpack 项目中从 Cast SDK 导入 cast_receiver.js?
- createobjecturl - Uncaught TypeError: window.URL.createObjectUrl is not a function at MediaRecorder.recorder.ondataavailable
- python - Python:列表/数组,删除双字字符串
- excel - 如何在同一行上制作 Excel 公式引用单元格?
- c - Openmp simd(增量向量)
- excel - 数一数。列表中的对
- python-3.x - 隐藏小部件时如何阻止 PyQt5 删除小部件?
- php - 名言正则表达式不起作用
- javascript - 在上传期间调整图像大小(Canvas 和 SimpleImage 库)