HandyCafe Docs
owner it-admin

OAuth 设置

OAuth 设置类别配置设备授权流认证,允许会员使用现有社交账户登录客户端 PC。这实现了设备授权授予(RFC 8628),专为自助终端和公共环境场景设计,用户在独立设备(手机)上认证,而非在共享 PC 上输入凭证。

总开关

启用 OAuth 登录开关控制整个 OAuth 系统。禁用时,客户端锁定屏幕上不出现 OAuth 登录选项。启用时,已配置的提供商可供会员登录使用。

网吧名称

在 OAuth 认证上下文中显示的网吧名称。帮助会员在手机上看到授权提示时确认他们正在登录正确的场所。

允许无余额登录

启用时,允许会员在钱包余额为零时通过 OAuth 登录。适用于允许免费浏览或会员在柜台而非通过预付余额付款的网吧。

禁用时,会员必须有正余额才能完成 OAuth 登录。

提供商配置

HandyCafe 支持五个 OAuth 提供商。每个提供商独立配置:

Google

字段 说明
启用开关 开启或关闭 Google 登录
Client ID 来自 Google Cloud Console 项目的 OAuth 2.0 客户端 ID
Client Secret 对应的客户端密钥
JSON 导入 上传 Google 格式的凭证 JSON 文件自动填充 Client ID 和 Client Secret 字段

Facebook

字段 说明
启用开关 开启或关闭 Facebook 登录
Client ID 来自 Facebook 开发者应用的 App ID
Client Secret 来自 Facebook 开发者应用的 App Secret

Apple

字段 说明
启用开关 开启或关闭 Apple 登录
Client ID 来自 Apple 开发者账户的 Services ID
Client Secret 生成的客户端密钥(基于 JWT)

X (Twitter)

字段 说明
启用开关 开启或关闭 X 登录
Client ID 来自 X 开发者门户的 OAuth 2.0 客户端 ID
Client Secret 对应的客户端密钥

Discord

字段 说明
启用开关 开启或关闭 Discord 登录
Client ID 来自 Discord 开发者门户的 Application ID
Client Secret 对应的客户端密钥

设置提供商

  1. 在提供商的平台上创建开发者应用(每个提供商的开发者控制台链接在配置字段旁边可用)。
  2. 如适用,为设备授权授予流配置应用。
  3. 将 Client ID 和 Client Secret 复制到 HandyCafe 中对应的字段。
  4. 启用提供商开关。
  5. 保存设置。

对于 Google,可以从 Google Cloud Console 导出凭证 JSON,使用 JSON 导入按钮自动填充两个字段。

测试配置

保存 OAuth 设置后:

  1. 进入一台已连接到服务端的客户端 PC。
  2. 在客户端锁定屏幕上,查找 OAuth 登录选项。
  3. 选择一个已配置的提供商并发起登录。
  4. 客户端屏幕上出现设备码和二维码。
  5. 用手机扫描二维码或访问显示的 URL 并输入验证码。
  6. 在手机上完成认证。
  7. 服务端轮询令牌,根据配置自动批准登录或向管理员发送审批请求。
  8. 批准后,会员账户被创建或关联,客户端时段开始。

完整的设备授权流登录过程请参阅 OAuth 登录文档。