SSO 单点登录:用 GitHub 等第三方账号登录 OpenList
OpenList 支持 SSO 单点登录:把自己的站点接入 GitHub、微软、谷歌等身份提供方,登录页出现「使用 GitHub 登录」之类的按钮,点一下跳转授权即可进入,不用再记站内密码。
支持的登录源
官方文档「高级 - 单点登录」章节覆盖了这些平台,每个都有独立图文教程:
- GitHub
- 微软(Microsoft)
- 谷歌(Google)
- 钉钉
- Casdoor
- Authentik
- Keycloak
前三者面向个人用户,后四者是企业级身份系统——已有公司统一认证的团队可以把 OpenList 接进现有体系,员工用工号账号登录。
配置思路
各平台的配置套路一致,三步:
- 在对应平台创建 OAuth 应用:以 GitHub 为例,在开发者设置里新建 OAuth App,回调地址填你站点的 SSO 回调路径(教程页有准确格式)
- 把 Client ID 与 Client Secret 填进 OpenList:后台「设置 - 单点登录」,填入凭证、选择默认登录方式、可限制允许登录的用户范围
- 前台登录页出现第三方登录按钮,点击走授权流程
微软、谷歌的图文步骤较长(要建云平台应用),GitHub 最简单,个人玩家建议从 GitHub 开始。
与本地账号的关系
- SSO 登录进来的用户仍然对应一个站内用户,其权限位、基本路径照常生效(见 用户权限)
- 可以双轨并存:管理员走密码 + 2FA,家人朋友走 SSO 免密码
- 想完全关闭密码登录只留 SSO?保持 guest 停用 + 站内账号不开密码即可,见 游客账号
自建站点接 OAuth 涉及回调地址,若走 反向代理 部署,确保回调地址与对外访问地址一致,否则授权后回跳报错。