组件分享之后端组件——Go开发的单点登录应用组件authelia
2022-03-17 本文已影响0人
cn華少
组件分享之后端组件——Go开发的单点登录应用组件authelia
背景
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
组件基本信息
- 组件:authelia
- 开源协议:Apache-2.0 License
- 官方文档:https://www.authelia.com/docs
内容
本节分享一个Web应用程序组件,单点登录authelia,它是一个开源的身份验证和授权服务器,可以通过web门户对我们的应用程序提供双因素身份验证和单点登录(SSO)。它可以搭配nginx、Traefik 或HAProxy等反向代理进行使用,可以让其前置机(反向代理)清楚知道哪些应该允许请求、哪些请求重定向到authelia进行身份验证。具体可查看官方文档
以下是官方提供的架构图:
实际使用效果如下图所示:
image.png
image.png
具体功能如下:
- 几种第二因素方法:
- 使用YubiKey等设备支持FIDO2 Webauthn的安全密钥。
- 基于时间的一次性密码 与兼容的身份验证器应用程序。
- 使用Duo的移动推送通知。
- 使用电子邮件确认进行身份验证的密码重置。
- 无效身份验证尝试次数过多后的访问限制。
- 使用匹配子域、用户、用户组成员资格、请求 uri、请求方法和网络等条件的规则进行细粒度访问控制。
- 根据规则在单因素和双因素策略之间进行选择。
- 支持受单因素策略保护的端点的基本身份验证。
- 使用远程数据库和 Redis 作为高可用 KV 存储的高可用性。
- 使用ForwardAuth中间件与Traefik开箱即用 兼容。
- 通过他们的 Swag容器以及 指南从LinuxServer 精心策划的配置。
- Kubernetes 支持:
- 开箱即用与ingress-nginx、 Traefik Kubernetes CRD和 Traefik Kubernetes Ingress Kubernetes 入口控制器兼容。
- 使用我们的Charts通过 Helm 安装的 Beta 支持。
- 对OpenID Connect的 Beta 支持。
本文声明:
88x31.png知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。