OAuth 设置
OAuth 设置类别配置设备授权流认证,允许会员使用现有社交账户登录客户端 PC。这实现了设备授权授予(RFC 8628),专为自助终端和公共环境场景设计,用户在独立设备(手机)上认证,而非在共享 PC 上输入凭证。
总开关
启用 OAuth 登录开关控制整个 OAuth 系统。禁用时,客户端锁定屏幕上不出现 OAuth 登录选项。启用时,已配置的提供商可供会员登录使用。
网吧名称
在 OAuth 认证上下文中显示的网吧名称。帮助会员在手机上看到授权提示时确认他们正在登录正确的场所。
允许无余额登录
启用时,允许会员在钱包余额为零时通过 OAuth 登录。适用于允许免费浏览或会员在柜台而非通过预付余额付款的网吧。
禁用时,会员必须有正余额才能完成 OAuth 登录。
提供商配置
HandyCafe 支持五个 OAuth 提供商。每个提供商独立配置:
| 字段 | 说明 |
|---|---|
| 启用开关 | 开启或关闭 Google 登录 |
| Client ID | 来自 Google Cloud Console 项目的 OAuth 2.0 客户端 ID |
| Client Secret | 对应的客户端密钥 |
| JSON 导入 | 上传 Google 格式的凭证 JSON 文件自动填充 Client ID 和 Client Secret 字段 |
| 字段 | 说明 |
|---|---|
| 启用开关 | 开启或关闭 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 | 对应的客户端密钥 |
设置提供商
- 在提供商的平台上创建开发者应用(每个提供商的开发者控制台链接在配置字段旁边可用)。
- 如适用,为设备授权授予流配置应用。
- 将 Client ID 和 Client Secret 复制到 HandyCafe 中对应的字段。
- 启用提供商开关。
- 保存设置。
对于 Google,可以从 Google Cloud Console 导出凭证 JSON,使用 JSON 导入按钮自动填充两个字段。
测试配置
保存 OAuth 设置后:
- 进入一台已连接到服务端的客户端 PC。
- 在客户端锁定屏幕上,查找 OAuth 登录选项。
- 选择一个已配置的提供商并发起登录。
- 客户端屏幕上出现设备码和二维码。
- 用手机扫描二维码或访问显示的 URL 并输入验证码。
- 在手机上完成认证。
- 服务端轮询令牌,根据配置自动批准登录或向管理员发送审批请求。
- 批准后,会员账户被创建或关联,客户端时段开始。
完整的设备授权流登录过程请参阅 OAuth 登录文档。