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

Azure B2C SPA应用自定义策略登录报‘无效用户名或密码’解决方案

解决自定义策略下SPA应用的“无效用户名或密码”(错误7000218)问题

核心问题定位

错误7000218及“无效用户名或密码”提示,本质是自定义策略与应用注册、用户存储的配置不匹配,导致凭据验证流程失效。以下是针对性修复步骤:


1. 规范自定义策略专用应用注册配置

必须为自定义策略创建独立的应用注册,不能复用标准用户流的旧注册,配置要点:

  • 账户类型:选择「任何Azure AD B2C目录中的账户或任何标识提供者中的账户」,仅本组织账户会限制自定义策略的身份验证逻辑,触发AADB2C90068错误
  • 平台配置:添加「SPA」平台,配置正确的重定向URI(需与前端认证回调地址一致),不要使用Native平台配置
  • 公共客户端设置:启用「Allow public client flows」,同时确保TrustFrameworkExtensions.xml中ClientId字段完全匹配该应用注册的ID

2. 修正自定义策略的凭据验证逻辑

检查自定义策略的技术配置文件,确保用户凭据验证流程正确:

  • 在TrustFrameworkExtensions.xml或基础策略文件中,确认LocalAccountSigninWithLogonName技术配置文件的:
    • InputClaims包含signInName和password的正确映射
    • ValidationTechnicalProfiles指向正确的用户存储验证(如AAD-Common)
  • 确保注册流程中存储的用户名格式(如邮箱/用户名)与登录时前端传入的signInName格式完全一致,避免格式不匹配导致验证失败

3. 调整前端SPA的认证配置

前端必须完全切换到新的自定义策略专用应用注册:

  • 更新认证库(如MSAL.js)的clientId为新应用注册的ID
  • 配置正确的authority,格式为:https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{your-custom-policy-name}
  • 确保认证请求中指定自定义策略名称,而非标准用户流名称

4. 利用日志排查深层问题

通过Azure AD B2C的日志细化排查:

  • 查看审核日志,确认请求中的client_id是否与策略配置一致,是否存在用户不存在、密码哈希不匹配等细节
  • 启用应用洞察日志,追踪自定义策略执行的每一步,定位验证流程中具体的失败节点

内容的提问来源于stack exchange,提问作者Odi K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:05:44