authentik 完整指南:开源单点登录 IdP 如何一次登录打通 SAML、OAuth2 和 LDAP
【免费下载链接】authentikThe authentication glue you need.项目地址: https://gitcode.com/GitHub_Trending/au/authentik
同一套系统登录 5 个平台要记 5 组密码——这是很多技术团队的日常。更麻烦的是,每个平台要接的身份协议还不一样:老的 OA 系统只认 LDAP,新上的监控平台只认 OAuth2/OIDC,内部工具又写死了 SAML。authentik 是一个开源 Identity Provider(IdP),原生支持 SAML、OAuth2/OIDC、LDAP、RADIUS 和 SCIM,设计目标就是从实验室环境到大规模生产集群都能自托管,相当于给所有系统装一个统一的"门禁中枢"。
自建 IdP 是什么:一个登录入口对接所有协议
IdP 的角色类似大楼的门禁发卡处:员工只办一张卡,卡里存着"他是谁、能进哪些门",各楼层刷的是同一张卡。authentik 扮演的就是这个发卡处——用户只维护一套身份,各个应用向它求证。
它的协议覆盖面决定了接入成本很低:新应用走 OAuth2/OIDC 提供 providers/oauth2/,老系统走 providers/ldap/,需要证书签名的企业应用走 providers/saml/。每个应用对应一个"provider",协议不同就换一种 provider 配置,用户侧无感知。
authentik 流程编辑器:不写代码也能定制登录逻辑
authentik 的登录过程由 Flow(流程)和 Stage(步骤)组成:Flow 是"先验证什么、再验证什么"的编排,Stage 是单个验证动作,比如输密码、发邮箱验证码、弹验证码页。这套逻辑在管理界面的可视化编辑器里拖拽配置,条件分支(比如异地登录触发二次验证)和 MFA 嵌套都能直接搭出来,参考 流程文档。仓库的 blueprints/ 目录还内置了十余个预配置场景模板,包括默认登录流、邀请注册流和双因素登录流,可以导入后按需修改。
authentik Docker 部署:3 分钟跑起来的完整步骤
最小硬件要求是 2 核 CPU 加 2 GB 内存,对测试和小规模生产足够。第一步,下载官方 Compose 文件:
wget https://docs.goauthentik.io/compose.yml第二步,启动全部服务(Compose 文件已包含 PostgreSQL 数据库和 Redis,无需单独部署):
docker compose up -d第三步,浏览器访问http://<服务器IP>:9000/if/flow/initial-setup/进入初始化向导,创建管理员账户。完整配置项(自定义端口、邮箱、媒体存储)见 Docker Compose 安装文档。
authentik 适用边界:什么情况下不必用它
先说清楚:社区版是免费开源的 MIT 许可,但仓库里的 enterprise/ 模块(高可用增强、高级威胁防护等)属于源码可查的企业版,需要单独授权,企业版才适合"整体替换现有 Okta/Auth0"这类场景。另外,Docker Compose 方案默认把 Docker socket 挂载给 worker 容器用于自动部署 outpost,这本身有安全风险,文档建议用 Docker Socket Proxy 兜底——如果你无法接受这类自托管运维负担,或者只需要给少数 SaaS 应用做 SSO,商业托管 IdP 反而省事。还有一点容易踩坑:容器内部操作一律使用 UTC,不要修改容器时区,否则 OAuth 和 SAML 认证会出问题。
从安装到第一个应用:下一步配置清单
跑起来之后,按 First Steps 文档 的顺序走:在 Admin 界面新建一个 Application + provider 对,拿到 Client ID 和 Client Secret,再到目标应用(文档以 Grafana 为例)里填入这些值,单点登录即打通。之后创建用户、按组做访问绑定、配置全局邮箱通知即可。整套部署和首个应用集成,通常半天内可以完成。
【免费下载链接】authentikThe authentication glue you need.项目地址: https://gitcode.com/GitHub_Trending/au/authentik
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考