【问题标题】:Azure AD B2C CORS errorsAzure AD B2C CORS 错误
【发布时间】:2020-10-09 23:10:51
【问题描述】:

我正在尝试运行示例

https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp

第 1 部分工作正常。我正在使用我自己的 Azure AD B2C 尝试第 II 部分。

我用我的注册用户流程中的 URL 更新了 policies.js 文件,用我的应用程序 ID 更新了 authconfig.js

const b2cPolicies = {
    names: {
        signUpSignIn: "B2C_1_sign_up_sign_in",
    },
    authorities: {
        signUpSignIn: {
            authority: "https://zzz.b2clogin.com/zzz.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_sign_up_sign_in",
        }

但是我得到一个 CORS 错误:

Access to XMLHttpRequest at 
https://zzz.b2clogin.com/zzz.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_sign_up_sign_in/v2.0/.well-known/openid-configuration' from origin 'http://localhost:6420' 
has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

该示例显然希望按照说明从 localhost 运行。我的配置中是否缺少任何内容?有什么想法吗?

它生成双 ./wellknown 的事实令人怀疑,但我不知道如何设置 msalConfig。

更新:我已经尝试删除 .wellknown 部分的 url,但它仍然不起作用。该请求看起来更好,因为它没有重复的 .wellknown 位,但它没有我认为必不可少的 p=B2C_1_sign_up_sign_in。

【问题讨论】:

  • 您的 MSAL 配置很可能是错误的,因为构造的 URL 是错误的。你能展示一下它的样子吗?
  • @juunas 见上文,我从“运行用户流程”对话框中复制了它。

标签: azure azure-active-directory azure-ad-b2c


【解决方案1】:

注意样本中的权限定义为:

signUpSignIn: {
    authority: "https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_susi",
},

所以你应该将权限定义为:

https://zzz.b2clogin.com/zzz.onmicrosoft.com/B2C_1_sign_up_sign_in

【讨论】:

  • 很好看。它应该可以从用户流程中复制和粘贴。
【解决方案2】:

我注意到授权端点以小写形式返回带有 b2c_1 的策略,即使在 Azure 策略创建中它以大写为前缀。

https://zzz.b2clogin.com/zzz.onmicrosoft.com/B2C_1_sign_up_sign_in

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 2016-07-20
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 2020-08-28
    • 2018-04-07
    • 1970-01-01
    • 2017-01-09
    相关资源
    最近更新 更多