azure-active-directory - 向 Microsoft Graph App 添加权限将如何影响现有用户?
问题描述
我有一个注册的应用程序,它需要多个应用程序权限(通过管理员同意流程获得)。
该应用程序是多租户的,并且已经为大量用户提供服务。
现在我想为应用程序请求的内容添加更多权限,我只想确保添加这些权限不会影响我当前使用该应用程序的用户。
我了解,为了将新权限应用于现有用户,他们相应的组织管理员必须重新同意,但除此之外,我想确保(在文档中找不到)当前用户仍然是能够像以前一样使用该应用程序(没有需要新权限的功能)。
真的是这样吗?由于权限更改,没有什么不会“停止工作”?
解决方案
当您向应用注册添加权限时,之前的同意不会被撤销。但是,根据您的应用请求的范围,它可能会强制显示一个新的同意窗口。由于您使用的是应用程序权限,因此普通用户无法同意这些权限。例如,如果您的客户端请求 .default 范围,那么它将尝试获取 api 权限中指定的所有权限,其中包括新权限(需要同意)。如果您的令牌请求仅包含范围内的旧权限,则不应更改任何内容。 https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#example-3-the-user-has-consented-and-the-client-requests-附加范围
但是,我不相信即使没有同意新的应用程序权限,应用程序也会失败,但如果请求,它将无法接收新的范围。并且使用这些额外权限的任何结果函数都将失败,直到管理员同意这些新权限。
推荐阅读
- c# - 为 Visual Studio 2017 安装 Oracle 开发工具 18.3.0.0.0 时出错
- c++ - 如何在修改容器时正确迭代容器?
- r - 如何避免其他用户在闪亮服务器上的权限被拒绝
- java - 带有可选时间戳过滤器的 spring-data-jpa JPQL 查询问题
- windows - Windows批量重命名,重命名文件2次
- kubernetes - 如何将 kubernetes 容器 ID/名称附加到 log4j.xml 中的日志文件
- c++ - C++ 预处理生成变量成员、setter 和 map
- elasticsearch - 在 ElasticSearch 的范围查询中,“from”和“gte”/“gt”是否等效?
- regex - 如何获取捕获组的计数,然后用特定字符替换字符?
- reactjs - Azure 存储静态站点环境变量