Lucky 第三方登录与网页认证功能介绍
从 Lucky 2.20.0 版本开始,系统支持了 第三方登录 功能,这让登录管理更加便捷、安全。 本文将带你一步步了解这个功能的配置和使用方法。
一、添加第三方用户信息
你可以在菜单中的 「第三方认证」模块 添加第三方用户,目前支持以下平台:
- GitHub
- 微博
- 通用 OIDC(已验证 authentik、pocket-id、casdoor 可用)
⚠️ 使用 通用 OIDC 时,需要先在 Lucky 的 Web 服务中部署一个「中间认证接口」,再到第三方认证模块顶部的设置里填写 OIDC 相关信息,才能正常使用。
第三方认证目前主要应用在:
- Lucky 后台登录
- Web 服务的网页认证
二、部署中间认证接口
2.1 为什么要有中间认证接口?
为了统一管理不同平台的认证流程、避免网页认证回调地址固定等问题,Lucky 不会直接对接 OAuth 平台。 相反,Lucky 通过 Lucky Web 服务 的 OAuth 模块部署一个「中间认证接口」。
支持的类型:
- 通用 OIDC
- GitHub
💡 GitHub 与 Google 默认使用 Lucky 官方提供的中间接口,如果你希望更灵活或自定义,可以自行部署属于自己的中间认证接口。 QQ 与 微博 暂不支持自建接口,只能使用官方服务。
2.2 中间认证接口配置注意事项
- 中间认证接口 仅支持 HTTPS。
- 对于 OIDC 类型,需要填写的配置地址一般为:
https://你的OIDC地址/.well-known/openid-configuration - Redirect URL 指该规则的访问地址。例如:
- 假设前端访问地址是
https://lucky666.cn/oauth/oidc - 监听端口为
16666则 Redirect URL 应填写:
https://lucky666.cn:16666/oauth/oidc - 假设前端访问地址是
- 部署完成后,需要回到 第三方认证模块的设置页,更新相关 OIDC 信息。
- 特别是 OIDC 授权端点(authorization_endpoint),可以通过访问上面的配置地址来获取。
示例:访问
https://xxx.xxx/.well-known/openid-configuration在返回内容中找到
authorization_endpoint字段即可。
2.3 测试配置是否正确
设置完成后,可在「第三方认证」模块中 添加一个第三方认证用户 来进行测试,确认是否可以正常登录。
三、使用第三方登录功能
第三方登录目前可以使用在两个地方:
- Lucky 后台登录
- Web 服务中的网页认证
3.1 后台登录的第三方登录
如果你希望在后台使用第三方登录,请在「Lucky 设置」页面中启用相关功能。
⚠️ 注意:
- 第三方登录的 2FA(双重验证) 是独立的,与后台自带的 2FA 不互通。
- 要启用 2FA,请在「添加或编辑第三方用户」时进行设置。
3.2 Web 服务网页认证
网页认证 相比基本认证的优势:
- ✅ 浏览器兼容性更好
- ✅ 安全性更高
- ❌ 不支持 API 调用
网页认证的生效条件:
启用网页认证开关并且
当请求的 User-Agent 中包含以下关键词时,会优先使用网页认证模式: "mozilla", "chrome", "safari", "firefox", "edge", "opera", "webkit"
如果不符合这些条件,将使用基本认证方式(前提是开启了基本认证,否则返回 403)。
认证期限:
- 浏览器关闭后 Session 失效
- 服务端若 6 小时内无任何请求,也会自动失效
3.3 灵活的用户访问控制
你可以:
- 在「子规则」中单独配置各自的认证用户
- 也可以在「主规则」中设置全局认证规则,让所有子规则共享相同配置
3.4 账号密码登录规则
网页认证同样支持账号密码登录,格式如下:
用户名:密码也可以启用 2FA 验证:
用户名:密码:2FA密钥这样在网页登录时即可进行双重验证。
结语
通过以上配置,Lucky 就能支持 GitHub、Google、QQ、微博、OIDC 等多种方式登录,无论是后台还是网页都可轻松集成。 对于个人或团队来说,这不仅提升了安全性,也让用户体验更流畅。
