# invalid_callback_request (/docs/reference/errors/invalid_callback_request)

回调请求无效。



## 什么是它？ [#什么是它]

此错误在 OAuth 回调期间抛出，当传入请求无法被解析或缺少必需字段时触发。

## 常见原因 [#常见原因]

* 查询参数或请求体参数在通过反向代理、CDN 或框架重写时被剥离。
* 参数双重编码或编码不正确导致解析失败。
* 提供商处的回调 URL 不匹配，触发中间重定向，导致参数丢失。
* 中间件或路由分组将请求发送到非预期的处理程序。
* 非常长的 URL 被中间环节截断（在某些代理下虽少见但可能发生）。

## 如何解决 [#如何解决]

### 验证回调方法和参数 [#验证回调方法和参数]

* 确保您的提供商配置与路由预期方法相符（例如，在授权码流程中使用带查询参数的 GET 方法）。
* 确认回调包含必需参数（例如，标准 OAuth 流程中的 `code` 和 `state`）。

### 通过基础设施保持查询/请求体完整 [#通过基础设施保持查询请求体完整]

* 检查反向代理（如 Vercel、Cloudflare、Nginx）和应用重写是否完整转发查询字符串和请求体。
* 如果中间件拦截或重写回调，请确保它不修改地转发所有参数。

### 本地调试 [#本地调试]

* 在开发者工具的网络（Network）面板中，检查回调请求，确认参数存在且格式正确。
* 比较开发/测试/生产环境的凭据，确保不存在因环境差异导致的流程或端点不同。

### 需要考虑的边缘情况 [#需要考虑的边缘情况]

* 移动端/WebView 或深度链接流程在交接时可能会丢失查询参数。
* 有些提供商可能通过片段（fragment）返回参数；服务器不会接收到片段 — 确保提供商使用查询或请求体来处理服务器端回调。
* 配置不当的多次重定向（包括 HTTP → HTTPS）可能导致参数丢失。

<Callout type="info">
  回调参数通常由 Better Auth 自动处理。如果出现此错误，通常表明手动访问了 `/api/auth/callback` 路由、代理/重定向剥离了参数，或集成不匹配。请双重检查提供商设置和基础设施重写，确保完整请求在回调中保持不变。
</Callout>

