代码之家  ›  专栏  ›  技术社区  ›  Bjorn Bailleul

Azure AD B2C受众验证失败

  •  0
  • Bjorn Bailleul  · 技术社区  · 3 年前

    我正尝试在Azure AD B2C上向我的B2C广告租户进行身份验证。我在aspnet上使用OAuth 2.0。净值6

    如果我使用客户端Id请求新的承载令牌

    0fdd4f3-xxx-xxxx-xxxx-3f84bd9d02ax

    我回来了 MBaud 价值

    https://mysite.onmicrosoft.com/0fdd4f3b-xxxx-xxxx-a438-3f84bd9d02ax

    我在用

    builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
        .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAd"));
    

    如果我使用 0fdd4f3b-xxxx-xxxx-a438-3f84bd9d02ax 在我的配置中,他试图通过在客户端ID前加前缀来验证它 api:// 以及以下例外情况:

    IDX10214:访问群体验证失败。观众:”https://mysite.onmicrosoft.com/0fdd4f3b-xxxx-xxxx-a438-3f84bd9d02ax'. 不匹配:验证参数。有效受众:'api://0fdd4f3b-xxxx-xxxx-a438-3f84bd9d02ax'

    如果我使用 https://mysite.onmicrosoft.com/0fdd4f3b-xxxx-xxxx-a438-3f84bd9d02ax 在我的配置中,他试图通过在客户端ID前加前缀来验证它 api:// 以及以下例外情况:

    IDX10214:访问群体验证失败。观众:”https://mysite.onmicrosoft.com/0fdd4f3b-xxxx-xxxx-a438-3f84bd9d02ax'. 不匹配:验证参数。有效受众:'api://https://mysite.onmicrosoft.com/0fdd4f3b-xxxx-xxxx-a438-3f84bd9d02ax'

    为什么该值总是以前缀 api:// ?

    0 回复  |  直到 3 年前
        1
  •  5
  •   Bjorn Bailleul    3 年前

    好吧,显然Stack Overflow是我的橡皮鸭。

    如果您的应用程序ID URI不是以开头 api:// 您必须手动更改应用程序的清单,并切换到访问令牌版本2。

    Manifest link

    然后更改以下值 accessTokenAcceptedVersion 无效的 2.

    现在,您可以返回到本地应用程序配置,并将ClientId的值设置为GUID,但不包括 https://xxx.onmicrosoft.com/ .