oauth_provider_not_found

未找到 OAuth 提供者。

什么是这个错误?

当 Better Auth 无法识别回调路径对应的提供者时会出现此错误——可能是因为缺少提供者部分,或者没有配置对应 ID 的提供者。

Better Auth 期望回调路由的格式为 /api/auth/callback/<provider>
如果 <provider> 部分缺失(例如请求到达 /api/auth/callback),
我们无法确定由哪个集成处理回调,请求将被拒绝。

常见原因

  • 直接访问 /api/auth/callback,未带上提供者段。

如何解决

使用正确的回调路由格式

  • 确保你的应用暴露了类似 /api/auth/callback/[provider] 的回调路由(具体基于框架实现)。
  • 启动 OAuth 流程时,确保重定向 URI 包含提供者段,这样提供者会返回到 /api/auth/callback/<provider>

配置基础设施以保留路径

  • 检查代理/CDN 重写设置(如 Vercel、Cloudflare、Nginx),确保不会移除最后的路径段。
  • 在各环境中统一尾部斜杠行为,保证 /api/auth/callback/<provider> 路径被保留。

避免手动访问基础回调路由

  • 不要直接访问 /api/auth/callback;始终通过 Better Auth 的 API 启动 OAuth,这些 API 会生成正确的特定提供者回调 URL。

本地调试

  • 检查服务器接收到的请求 URL,确认包含 <provider> 段。
  • 在回调处理器中记录路由/路径参数,验证提供者值。
  • 对比环境配置(路由、basePath、重写规则)以确保路径结构一致。

需要注意的边缘情况

  • 尾部斜杠规范化可能会影响路由,比如某些框架将 /callback/google//callback/google 视为不同路径,需配置行为一致。