Blazor Web App Server集成Azure AD B2C登录遇SSL协议错误求助
解决.NET 8 Blazor WebApp集成Azure AD B2C登录时的ERR_SSL_PROTOCOL_ERROR问题
以下是针对性的排查和解决步骤:
重新生成并信任本地HTTPS证书
本地开发的SSL证书可能失效或未被系统信任,执行以下命令重置:dotnet dev-certs https --clean dotnet dev-certs https --trust同时确保
launchsettings.json中applicationUrl的HTTPS端口与sslPort完全一致,例如:"applicationUrl": "https://localhost:5001;http://localhost:5000", "sslPort": 5001核对Azure AD B2C应用注册的回调地址
Azure AD B2C要求回调地址必须是HTTPS(本地测试例外但需明确配置),确保B2C应用注册中添加的回复URL与项目的HTTPS地址完全匹配,比如https://localhost:5001/signin-oidc。若改用HTTP测试,需同步在B2C中添加HTTP回调地址,并在OIDC配置中允许非安全连接(生产环境禁用此操作)。对齐可正常运行示例的OIDC配置细节
对比两个项目的AddOpenIdConnect配置,重点确认:- Authority地址为正确的B2C租户+用户流/政策地址
CallbackPath设置为"/signin-oidc"(与B2C回调地址后缀一致)- 开启
SaveTokens = true(获取refresh token的必要条件) - Scope包含
openid、offline_access及所需的API权限 - 启用
GetClaimsFromUserInfoEndpoint = true(部分场景下需此配置)
排除浏览器干扰
使用浏览器隐私模式打开页面,排除插件或缓存残留的影响;检查浏览器是否强制阻止localhost的SSL证书(如Chrome可在chrome://flags中调整相关SSL设置)。调整HTTPS强制跳转设置
若改用HTTP测试,需注释掉Program.cs中的app.UseHttpsRedirection();代码,并确保launchsettings.json中仅启用HTTP地址。
内容的提问来源于stack exchange,提问作者Zahra Ghadyani
相关产品推荐
相关产品推荐

