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

ASP.NET Web Forms迁移Azure AD认证测试时遇‘Need admin approval’错误

ASP.NET Web Forms迁移Azure AD认证报错适配方案

问题说明

现有正常运行的C# ASP.NET Web Forms站点,原采用公司内部认证机制,因该认证即将到期,需迁移至Azure AD认证。参照2021年初的指南完成开发后,测试时出现认证报错(截图:认证错误),由于Azure AD持续迭代更新,旧指南已无法适配2022年末的环境。

适配当前环境的解决步骤

  • 升级NuGet依赖包:将Microsoft.Owin.Security.OpenIdConnect、Microsoft.Owin.Security.Cookies、Microsoft.Owin.Host.SystemWeb更新至最新稳定版本,旧版本与Azure AD新端点兼容性较差。
  • 调整认证端点与参数配置:
    • 将Authority替换为Azure AD v2.0端点:https://login.microsoftonline.com/{你的租户ID}/v2.0
    • 显式设置ResponseType为id_token或code id_token,Azure AD v2.0不再默认兼容旧版隐式流参数
    • 开启ValidateIssuer = true并指定ValidIssuers,新版Azure AD的issuer格式已更新,未正确配置易导致验证失败
  • 修正Azure AD应用注册配置:
    • 回调地址(Redirect URI)需与站点配置完全一致,且需启用对应的认证流(如授权码流)
    • 生产环境强制要求HTTPS,确保回调地址以https开头
  • 更新Web.config配置:
    • 确认<authentication mode="None" />,避免与原内部认证机制冲突
    • 添加Azure AD相关配置项:
      <appSettings>
        <add key="ida:ClientId" value="你的应用客户端ID" />
        <add key="ida:TenantId" value="你的租户ID" />
        <add key="ida:RedirectUri" value="你的回调地址" />
        <add key="ida:Authority" value="https://login.microsoftonline.com/{你的租户ID}/v2.0" />
      </appSettings>
      
  • 检查权限设置:在Azure AD应用注册中添加必要的委派权限(如User.Read),需管理员同意的权限需完成同意操作

补充排查信息

若上述步骤未解决问题,提供以下信息可进一步定位问题:

  • 站点使用的Owin中间件具体版本
  • Azure AD应用注册的认证流配置详情
  • Web.config中完整的认证相关配置代码段
  • 报错的完整堆栈信息(可从浏览器开发者工具或服务器日志获取)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:01:09