You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何取消Azure应用注册间的用户授权请求?

解决Azure AD客户端应用无需用户授权的配置问题

检查权限类型与管理员同意状态

  • 确认reg2获取的reg1作用域类型:如果是委派权限,即使用户在授权客户端列表中,首次访问仍会触发用户授权,除非全局管理员或特权角色用户对reg2的权限执行管理员同意。只有应用权限(针对后台服务场景)才完全不需要用户交互。
  • 执行管理员同意:在Azure门户进入reg2的应用注册页面,打开「API权限」选项卡,点击「授予管理员同意」,完成后用户端将不再弹出授权请求。

验证授权客户端列表配置

  • 核对reg1的「公开API」->「授权客户端应用」列表:确保reg2的客户端ID已正确添加,且对应3个作用域的勾选框已选中。仅添加客户端ID但未勾选作用域会导致配置不生效。
  • 确认reg1的作用域状态:进入reg1的「公开API」->「添加作用域」页面,确保每个作用域的状态为已启用。

调整Blazor Server客户端认证配置

在Blazor Server的Program.cs中,配置MSAL客户端时明确指定作用域并禁用授权提示:

builder.Services.AddMsalAuthentication(options =>
{
    builder.Configuration.Bind("AzureAd", options.ProviderOptions.Authentication);
    // 明确添加reg1的作用域
    options.ProviderOptions.DefaultAccessTokenScopes.Add("api://{reg1-client-id}/scope1");
    options.ProviderOptions.DefaultAccessTokenScopes.Add("api://{reg1-client-id}/scope2");
    options.ProviderOptions.DefaultAccessTokenScopes.Add("api://{reg1-client-id}/scope3");
    // 禁止弹出授权提示
    options.ProviderOptions.Prompt = "none";
});

注意:Prompt.None会直接尝试获取令牌,必须确保管理员已完成权限同意操作,否则会返回认证错误。

检查租户用户同意设置

进入Azure AD租户的「企业应用程序」->「用户设置」:

  • 如果设置为「不允许用户同意任何应用程序」,需确保管理员已对reg2的权限完成同意;
  • 如果设置为「允许用户同意由管理员预先批准的应用程序」,需将reg2添加到「预先批准的应用程序」列表中。

内容的提问来源于stack exchange,提问作者AmineDZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:13:11