Google 授权登录配置

这一页列出让「使用 Google 账号登录」跑起来所需的全部信息。把下面的地址复制到 Google Cloud Console,再把生成的客户端凭据填进环境变量即可。

Client ID / Secret 已配置会话密钥 已设置
管理员白名单已设置 1 个邮箱
  1. 打开 Google Cloud Console 的凭据页

    用你已登录的 Google 账号进入,选择现有项目或新建一个项目。AI Studio 里的 API Key 不能用于登录,必须创建 OAuth 客户端 ID。

    https://console.cloud.google.com/apis/credentials
  2. 配置 OAuth 同意屏幕(品牌)

    填写应用名称、用户支持邮箱与开发者联系方式,受众选「外部」。应用处于「测试」状态时,只有加入测试用户列表的邮箱能登录;正式对外开放前需要发布应用。只使用登录功能(openid / email / profile)时不会涉及敏感权限范围。

  3. 创建凭据 → OAuth 客户端 ID → 应用类型选「Web 应用」

    下面两个地址要分别填进「已获授权的 JavaScript 来源」和「已获授权的重定向 URI」。生产环境必须使用 HTTPS,且路径要完全一致。

  4. 已获授权的 JavaScript 来源

    https://ai.swainwong.club
  5. 已获授权的重定向 URI

    https://ai.swainwong.club/api/auth/google/callback
  6. 把凭据写进环境变量

    本地写进 .env.local;生产环境写进服务器上的 .env(不要提交到 Git),或在部署流程里通过 GitHub Secrets 注入。

    GOOGLE_CLIENT_ID=你的客户端ID.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=你的客户端密钥 SESSION_SECRET=$(openssl rand -base64 32) ADMIN_EMAILS=swainwong93@gmail.com SITE_URL=https://ai.swainwong.club DATA_DIR=/srv/ai-notes/data
  7. 回到登录页验证

    重启服务后打开登录页,用白名单内的 Google 账号登录,成功后即可进入管理端。当前服务端使用的回调地址是:https://ai.swainwong.club/api/auth/google/callback。

安全说明:Client Secret 和 SESSION_SECRET 只放在服务端,本页不会显示它们的值。生产环境请把应用发布或把管理员邮箱加入测试用户,否则登录会被 Google 拦截。