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

Azure AD B2C合并登录注册策略下Node.js应用如何显示注册选项

问题原因

你当前配置的是普通Azure AD的标准认证端点,没有关联你提前创建的B2C登录注册合并用户流,所以加载的是默认AAD登录页面,自然不会显示注册入口。

修复步骤
  • 替换认证端点配置:将原来的authority字段值替换为你的B2C用户流专属地址,格式为https://<你的B2C租户名>.b2clogin.com/<你的B2C租户名>.onmicrosoft.com/<登录注册用户流名称>,比如用户流命名为B2C_1_signup_signin、租户名为demoTenant,最终地址就是https://demotenant.b2clogin.com/demotenant.onmicrosoft.com/B2C_1_signup_signin
  • 新增B2C专属校验配置:在auth配置块中添加knownAuthorities字段,值为你的B2C域名,示例为["<你的B2C租户名>.b2clogin.com"],避免MSAL拦截非标准AAD域名
  • 调整权限范围配置:B2C本地身份验证场景下不需要调用Microsoft Graph的user.read权限,可以替换为["openid", "profile", "offline_access"]避免权限校验报错

修改后的完整配置示例如下:

const config = {
    auth: {
        clientId: "******",
        authority: "https://<你的B2C租户名>.b2clogin.com/<你的B2C租户名>.onmicrosoft.com/B2C_1_<你的登录注册用户流名称>",
        clientSecret: "*****",
        knownAuthorities: ["<你的B2C租户名>.b2clogin.com"]
    },
    system: {
        loggerOptions: {
            loggerCallback(loglevel, message, containsPii) {
                console.log(message);
            },
            piiLoggingEnabled: false,
            logLevel: msal.LogLevel.Verbose,
        }
    }
};

修改完成后重新启动应用,加载的登录页底部就会自动显示「没有账户?立即注册」的入口,也支持你配置的第三方身份提供商注册逻辑。如果需要直接跳转单独注册页,只需要新建单独的注册用户流,请求时把authority替换为对应注册流的端点即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:06:03