Azure B2C无法从v2.0 .well-known/openid-configuration获取文档如何解决?
问题解决方法
根因分析
你遇到的404报错是因为B2C场景下的OpenID元数据请求地址必须拼接对应的用户流(策略ID),你代码中的多余配置覆盖了B2C专用的配置逻辑,导致请求的元数据地址缺少策略参数,访问不存在的路径触发404。
修复步骤
- 第一步:删除
Startup.cs中ConfigureServices方法内的多余配置行:
services.Configure<OpenIdConnectOptions> (this.Configuration.GetSection("AzureAdB2C"));
AddMicrosoftIdentityWebAppAuthentication方法针对B2C场景已经内置了OpenIdConnect参数的绑定逻辑,会自动读取SignInPolicyId拼接元数据请求路径,手动绑定普通OpenIdConnect配置会覆盖该逻辑,导致策略参数失效。
- 第二步:保留你现有的
appsettings.json配置即可,不需要调整Instance、TenantId等参数,你当前的配置参数格式符合B2C的要求。
注:你无需删除
TenantId参数,该参数属于B2C认证的必填配置,移除后触发的必填提示属于正常逻辑。
验证说明
修复完成后重新启动应用,元数据请求地址会自动拼接为正确格式:https://XXXX.b2clogin.com/tfp/XXXX.onmicrosoft.com/B2C_1_SignFlow/v2.0/.well-known/openid-configuration,即可正常拉取元数据完成认证流程。
内容的提问来源于stack exchange,提问作者manuel mourato
相关产品推荐
相关产品推荐

