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