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视为不同路径,需配置行为一致。