跳转到正文

English core guides · 历史记录保留中文

第三方登录 ​

凭据决定可用性 ​

当前支持 Google 和 GitHub。apps/api/lib/auth.ts 的 socialProviders() 同时用于认证插件和公开能力列表,前端通过 config.socialProviders 显示入口。

服务必须同时填写的变量回调路径
GoogleGOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET/api/auth/callback/google
GitHubGITHUB_CLIENT_ID、GITHUB_CLIENT_SECRET/api/auth/callback/github

两项都空时不启用;只填一项时配置诊断和服务端解析报错。密钥仅保存在服务端,能力查询只返回服务名称。

配置步骤 ​

  1. 在对应服务创建应用,并选择正确的应用类型。
  2. 将完整回调地址设置为 APP_ORIGIN 加上表中的路径。
  3. 在本地或目标 Worker 环境写入凭据,运行配置诊断并重启接口。
  4. 打开登录页,实际授权,检查回调后会话及账号邮箱。

本地 GitHub 回调示例为 http://localhost:4400/api/auth/callback/github。不同环境使用各自凭据和回调。GitHub OAuth 应用与 GitHub App 设置不同,后者还需要账号邮箱读取权限。

客户端调用 ​

ts
const result = await auth.signIn.social({
  provider: "github",
  callbackURL: "/dashboard",
});
if (result.error) {
  // 显示可重试的授权错误
}

示例中的 auth 来自统一认证客户端。实际回跳地址应先通过站内地址校验,不能接受任意外站链接。

排查 ​

入口不显示:检查能力查询及完整凭据。回调失败:检查域名、端口、协议和回调路径是否完全相同。邮箱缺失:检查授权范围与账号隐私设置。授权取消应回到可继续操作的登录页,不算登录成功。

新增其他服务时同步服务端凭据解析、能力查询、客户端入口及环境文档。当前 Google、GitHub 的真实外部授权仍需要使用自己的应用验收。

供语言模型读取:llms.txt · llms-full.txt
采用 MIT 许可证。