相信大家都对登录系统不陌生,今天,猿妹就和大家介绍一个开源的认证和授权服务器,通过网络门户为你的应用程序提供双因素认证和单点登录(SSO)——Authelia。

你可以将Authelia和nginx、Traefik 或 HAProxy 等反向代理合作使用,让它们知道是否应该允许请求或将请求重定向到Authelia的门户进行认证。

下面是一个简单的架构图:

Authelia 可以作为一个独立的服务从AUR、APT、FreeBSD端口安装,或者使用Static二进制、.deb包、Docker或Kubernetes手动安装,或者通过Helm Chart(beta)利用入口控制器和入口配置。

这是Authelia登录界面的样子:

Authelia主要具有以下特性:

多种second factor方法:

  • 使用电子邮件确认通过身份验证重置密码。

  • 无效身份验证尝试次数过多后的访问限制。

  • 使用与子域、用户、用户组成员身份、请求 uri、请求方法和网络等条件匹配的规则进行细粒度访问控制。

  • 每个规则的单因素和双因素策略之间的选择。

  • 支持对受单因素策略保护的端点进行基本身份验证。

  • 使用远程数据库和 Redis 作为高可用 KV 存储实现高可用。

  • 使用 ForwardAuth 中间件与开箱即用的 Traefik 兼容。

  • LinuxServer 通过他们的 Swag 容器以及指南提供的配置。

Kubernetes 支持:

  • 对 OpenID Connect 的 Beta 支持。

目前,Authelia已经在GitHub上标星 9.9K,累计分支 472 个(GitHub地址:https://github.com/authelia/authelia)