如何在Azure中关闭OAuth应用用户授权所需的管理员审批要求
Azure OAuth 应用免管理员审批配置方案
触发审批提示的核心原因
该提示出现是因为你的应用申请的权限包含需要管理员同意的高权限项,或者终端用户所属租户的全局同意策略限制了普通用户自主授权应用的权限。
具体解决步骤
1. 调整应用权限配置
- 登录Azure Portal,进入「应用注册」模块,找到你开发的对应OAuth应用,打开「API 权限」配置页
- 移除所有标注为需要管理员同意的权限项,仅保留标注为用户可同意的低权限项,例如
User.Read、Mail.Read这类基础业务权限默认均支持用户自主授权,Directory.Read.All等高权限属于强制管理员审批范畴,非必要不要申请 - 权限调整完成后点击「授予<租户名>的管理员同意」按钮,保存配置生效
2. 调整租户同意策略(单租户应用适用)
如果你的应用仅面向特定企业租户内部使用,可以让租户管理员调整全局用户同意规则:
- 租户管理员进入Azure Active Directory - 企业应用 - 同意和权限 - 用户同意设置
- 将用户同意选项调整为「允许用户同意普通权限类应用」,不要选择「所有应用均需要管理员同意」的限制规则
- 也可以单独为你的应用配置专属豁免策略,无需修改全局租户配置
3. 管理员预同意(多租户应用最优方案)
如果你开发的是面向多企业的多租户应用,最稳妥的方案是提前让使用企业的管理员完成一次全局预同意,后续该企业所有终端用户授权无需再走审批流程:
- 将你的授权URL替换为管理员专属同意端点,格式如下:
https://login.microsoftonline.com/{企业租户ID}/adminconsent?client_id={{client_id}}&redirect_uri={{redirect_uri}} - 企业管理员访问该链接完成全局授权后,该租户下所有用户使用你原来的授权URL:
https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&state={{state}}&redirect_uri={{redirect_uri}}&client_id={{client_id}}&resource={{resource}}
进行授权时不会再弹出审批提示。
参考截图

内容的提问来源于stack exchange,提问作者Chaitanya Reddy
相关产品推荐
相关产品推荐

