Azure AD B2C注册/登录用户流未返回Is User New声明问题排查
问题:NextAuth + Azure AD B2C环境下无法获取“User Is New”声明
问题详情
- 已在Azure AD B2C用户流中勾选“User Is New”声明,设置为随令牌返回
- 基于Next.js + NextAuth(JWT模式)实现身份验证,核心功能正常,但需要识别新用户以触发外部API调用
- 尝试通过
signIn事件获取isNewUser字段,结果始终为undefined - 在
jwt回调中打印token、account、profile对象,均未找到新用户相关标识 - 临时替代方案:调用自有API检查用户是否存在于数据库,不存在则创建,但会额外增加一次API请求
已解决方案
问题出在测试流程上:测试时重复使用同一邮箱账号,但未彻底删除Azure AD B2C中的用户记录,导致“User Is New”声明未被触发。
解决步骤:
- 在Azure AD B2C后台对测试用户执行永久删除操作
- 使用该邮箱重新注册账号,此时即可在返回的令牌中获取到“User Is New”声明,进而能在NextAuth的回调逻辑中正常读取该信息
内容的提问来源于stack exchange,提问作者Ettur
相关产品推荐
相关产品推荐

