#17600·langfuse

Azure AD B2C 登录失败: 缺少 not_before 和 id_token_expires_in 字段

作者: ZaidAfane3创建于 2026年9月17日更新于 2026年9月17日
标签bugfeat-authself-hosting

□ 描述错误

与 ** Azure AD B2C** 作为自定义 OAuth 提供商('Auth CUSTOM *`')在账户创建中失败,因为认证已经成功. 浏览器返回到“/auth/sign-in?error=Callback”上。

B2C在象征性回应中返回了两个字段,即 " 账户 " 模式没有 " 之前 " 和 " id token expires in " ,因此 " Prisma.account.create() " 拒绝这一呼吁:

错误 Prisma: 错误
无效的 “ Prisma. account. create () 引用 :

{
数据:{
提供者: "海关",
类型: "oauth",
professorAccounts: "<redacted>", (中文(简体) ).
id token:"已编辑",
符号 类型:"Bearer",
不在 : <redacted > 之前,
~~~~~~~~~~
id token expires in: 3600, (英语).
. . . . . . . .
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

错误 [NEXT AUTH] 适配器 error linkcount
出错 [NEXT AUTH] WATH CALLBACK HANDLER 错误

值得注意的是,OAuth流量本身是好的——B2C认证了用户,ID标志带有有效的 " 电子邮件 " 要求,Auth.js接受发行人. 只有坚持步骤失败,所以没有任何账户被创建,签入也永远不会成功.

这似乎与#2468(GitLab,未知的'created-at')的形状相同.

□为再生.

  1. 将申请登记在Azure AD B2C租户中,并附有注册/签入用户流,并增加`https:///api/auth/callback/custom'作为重新定向的URI。
  2. 配置自定义提供者:
AUTH CUSTOM CLIENT ID%%客户端 id >
AUTH CUSTOM CLIENT SECRET 客户端秘密 >
AUTH CUSTOM ISSUER=https://<tenant>.b2clogin.com/<tenant>.onmicrosoft.com/<政策>/v2.0
AUTH CUSTOM NAME Display name >
  1. 在登录页面上点击提供者按钮并完成认证。
  2. " error=Callback " 的登录失败;容器日志显示上面的Prisma错误。

□ 预期行为

与其它支持的提供者一样,该账户被创建,用户被签名.

□ 建议修正

关于 " 账户 " 的两栏无效,沿用关于具体提供者领域的现有先例:

" 包装/共享/Prisma/schema.ZPrisma "

8zz
不是在 It 之前吗 // 自动起重机
id token  experers  in int? // Azure 自动取款机B2C

和一个“2023122323008”的迁移镜像:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? -- 更改表 替代"账户" ADD COLUMN"不"之前"INTEGER, ADD COLUMN “ id token experires in” INTEGER ; (原始内容存档于2018-09-29) (英语).


该模型已经载有`失效'/`失效'(`2023122323008-counts-add cols azure-ad auth')、`新鲜'(`20240913185822 .')和`创建'(at / GitLab')(`20241009042557 .'),因此,为供应商增加的象征性字段拓宽其范围似乎是既定办法。 两列都无效,因此迁移是添加剂,没有影响现有的行或提供者.

如果你宁可过滤适配器中未知的字段,也不要扩大计划,这样就能立刻解决每个供应商的这一类问题——无论走哪条路,这就是为什么我在打开公关前都会问这个问题。 无论你喜欢谁,我都可以申请公关

□ 额外的
. . . . . . .

内容来源: langfuse/langfuse