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

Azure部署Blazor WASM后MSAL认证遇AADSTS9002325错误求助

解决Blazor WASM Azure部署后AADSTS9002325(PKCE缺失)认证错误

针对你遇到的问题,核心原因是Blazor WASM作为单页应用(SPA),必须严格遵循PKCE(Proof Key for Code Exchange)认证流程,部署到Azure后配置或Azure AD应用注册的设置不符合要求导致的。以下是具体解决步骤:

1. 修正Azure AD应用注册的重定向URI配置

  • 必须将重定向URI设置为SPA类型,格式为 https://<你的Azure WebApp域名>/authentication/login-callback,注意必须使用HTTPS(本地调试用HTTP没问题,但生产环境Azure WebApp默认启用HTTPS,必须匹配)。
  • 删除之前添加的"Web"类型重定向URI,因为Blazor WASM是纯前端SPA,不适用Web类型的认证流程(Web类型对应服务器端应用,不需要PKCE)。
  • 检查应用清单:确保spa节点下的redirectUris包含正确的生产环境地址,同时将accessTokenAcceptedVersion设置为2(适配MSAL.NET 6使用的v2认证端点)。

2. 确认Blazor WASM的代码配置

  • 在Program.cs中,确保AddMsalAuthentication的配置指向正确的v2端点,示例代码:
    builder.Services.AddMsalAuthentication(options =>
    {
        builder.Configuration.Bind("AzureAd", options.ProviderOptions.Authentication);
        // 添加你需要的API权限范围
        options.ProviderOptions.DefaultAccessTokenScopes.Add("api://<你的API客户端ID>/access_as_user");
    });
    
  • 检查appsettings.json中的AzureAd配置,确保RedirectUri与Azure AD中注册的SPA类型重定向URI完全一致:
    "AzureAd": {
      "Authority": "https://login.microsoftonline.com/<你的租户ID>/v2.0",
      "ClientId": "<你的应用客户端ID>",
      "RedirectUri": "https://<你的WebApp域名>/authentication/login-callback",
      "PostLogoutRedirectUri": "https://<你的WebApp域名>/authentication/logout-callback"
    }
    

3. 排查PKCE相关的环境与缓存问题

  • 确保使用的Microsoft.Authentication.WebAssembly.Msal NuGet包是.NET 6对应的稳定版本(6.x系列),避免预览版带来的兼容性问题。
  • 部署后清除浏览器缓存或使用无痕模式测试,避免本地调试的认证会话残留导致的配置冲突。
  • 确认Azure WebApp已启用强制HTTPS:在Azure门户的WebApp配置中,找到"SSL设置",开启"HTTPS only",PKCE流程要求在安全的HTTPS上下文下运行。

4. 验证PKCE流程是否正常

部署完成后,打开浏览器开发者工具的"网络"面板:

  • 查看登录跳转时的授权请求,确认URL中包含code_challenge和code_challenge_method=S256参数(这是PKCE流程的核心标识)。
  • 登录完成后,检查/authentication/login-callback的请求,确认没有返回错误,成功获取到访问令牌。

按照以上步骤调整后,应该能解决AADSTS9002325错误,让Blazor WASM在Azure WebApp上正常完成MSAL认证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:06:28