Microsoft Azure Portal应用注册权限相关技术问询
问题解答
1. 未注册权限却能通过显式范围正常运行的原因
这是因为增量权限同意机制,加上你请求的File.ReadWrite属于用户可自行授予的委派权限(无需管理员预先审批)。
具体来说:
- 当你在OAuth流程中请求显式的非管理员权限范围时,即使应用注册里没预先添加该权限,只要这个权限允许用户自行同意,Azure AD会直接向用户展示权限请求弹窗,用户同意后,该权限会被临时关联到你的应用实例,生成的令牌就会包含这个权限,应用自然能正常调用对应API。
- 只有那些需要管理员同意的高敏感权限(比如
Directory.Read.All),才必须先在应用注册中添加并由管理员审批后,用户才能同意使用。
2. ./default范围不自动获取新权限的原因
./default是一个特殊范围,它代表你的应用注册中已配置的所有委派权限的默认集合。
当用户第一次授权后,Azure AD会记录下当时应用注册里的权限集合。后续即使管理员添加了新的委派权限:
- 如果你还是只请求
./default范围,OAuth流程会复用之前用户已同意的权限集合,不会触发新的同意请求,所以令牌里只会包含旧的权限。 - 要获取新权限,你需要显式请求新的范围(比如
File.ReadWrite),或者在OAuth请求中添加prompt=consent参数,强制用户重新同意所有权限,这样新权限才会被包含到令牌里。
内容的提问来源于stack exchange,提问作者codex
相关产品推荐
相关产品推荐

