零许可成本的身份治理平台:authentik 替代 Okta/Auth0 的完整路径
【免费下载链接】authentikThe authentication glue you need.项目地址: https://gitcode.com/GitHub_Trending/au/authentik
Okta 人均 $2–5/月,Auth0 人均 $2–8/月,一个千人规模的组织每年就是 $24,000–96,000 的许可费,外加用户数据被锁定在厂商云里的持续风险。如果你既需要 SAML、OAuth2/OIDC、LDAP、RADIUS 这一整套企业 SSO 协议,又想完全掌控数据,authentik 就是为此而生的开源身份提供方(Identity Provider,IdP)。
项目定位:认证胶水
把 authentik 理解为所有应用和用户目录之间的"认证胶水":上游对接任意身份源,下游喂给任意协议的应用,中间用可视化流程编排认证逻辑。它不是某个框架,而是横跨 Python(Django 核心)、Go(Outpost 服务)和 Rust 客户端的多语言自托管平台。
三个核心卖点:
- 协议全覆盖:SAML、OAuth2/OIDC、LDAP、RADIUS、SCIM(用户目录同步协议)全部内置,legacy 系统和云原生应用接同一套用户
- 自托管无门槛:Docker Compose 到 Kubernetes Helm Chart,最小 2 CPU + 2GB 内存就能跑
- 流程可视化编排:认证逻辑不写代码,拖拽 Stage(阶段)和 Flow(流程)即可
5 分钟跑通 Docker Compose 部署
体验环境要求:至少 2 CPU、2GB 内存。
wget https://docs.goauthentik.io/compose.yml echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env docker compose pull docker compose up -d验证动作:浏览器访问http://<服务器IP>:9000/if/flow/initial-setup/(注意结尾必须有/)。出现初始设置向导、让你创建管理员账户,就说明装好了。这一步会写入默认的 Admin 凭据,完整安装文档见 website/docs/install-config/install/docker-compose.mdx。
K8s 生产环境 Helm 安装步骤
生产环境走官方 Helm Chart,要点是:密码用openssl rand 60 | base64 -w 0生成,Ingress 指定域名,且不要用 Chart 自带的 PostgreSQL,接外部托管数据库(如 CloudNativePG)。
# values.yaml 最小配置 authentik: secret_key: "请生成60位随机密钥" postgresql: password: "请生成强密码" server: ingress: ingressClassName: nginx enabled: true hosts: - authentik.domain.tld postgresql: enabled: true auth: password: "请生成强密码"helm repo add authentik https://charts.goauthentik.io helm install authentik authentik/authentik -n authentik --create-namespace -f values.yaml完整选项参考 website/docs/install-config/install/kubernetes.mdx。
场景一:把 Grafana 接上 SSO
运维团队需要给 Grafana 统一认证,又不想维护第二套用户。在 Admin 界面进Applications > New Application,应用名填Grafana,Provider 选OAuth2/OIDC,填好回调 URI。
配完效果:Grafana 登录页出现 "Sign in with authentik",认证时由 authentik 的登录流程接管。推荐做法是先建组、再建用户、最后把应用绑定到组上,绑定即访问控制。180+ 常见应用的集成指南在 website/docs/ 下都有。
场景二:拖拽编排登录流程
管理员要给"异地登录强制 MFA、内部员工跳过密码"这种逻辑,传统 IdP 得写策略脚本。authentik 的 Flow Designer 把每个认证步骤做成 Stage 积木(密码、TOTP、Email 链接、地理位置判断等),Flow 是 Stage 的有向图,用 Expression 脚本写条件分支即可。
典型组合:登录 Flow = 识别阶段 → 密码阶段 → 条件判断(是否海外 IP)→ WebAuthn 硬件密钥阶段。文档见 website/docs/add-secure-apps/flows-stages/。
场景三:企业目录单向同步
HR/IT 团队要 Active Directory 或 Entra ID 里的用户自动进 authentik,不用手动建号。用 LDAP Source 或 OAuth2 源接上游目录,配好 Attribute 映射,同步任务定时拉取用户与组。出站方向用 SCIM Provider 把用户推给支持 SCIM 的下游系统(如 Workday、Azure AD 反向同步),实现"一个目录管全网"。
选型对比:authentik 社区版 vs Okta / Auth0
| 维度 | authentik(社区版) | Okta | Auth0 |
|---|---|---|---|
| 许可成本 | $0(MIT 开源) | 人均 $2–5/月 | 人均 $2–8/月 |
| 自托管 | 完全支持(Compos/K8s/AWS) | 仅企业版 | 不支持 |
| 协议覆盖 | SAML/OIDC/LDAP/RADIUS/SCIM | SAML/OIDC/SCIM | OIDC 为主,SAML 部分 |
| 定制深度 | 源码级 + 蓝图模板 | 有限 API | 中等 API |
| 支持渠道 | GitHub Issue + Discord | 付费工单 | 付费工单 |
选型建议:有自托管能力、想省许可费、需要 LDAP/RADIUS 这类 legacy 协议的组织选 authentik;完全没有运维团队、只想要 OIDC 且用户数小于 100 的团队,Auth0 托管更省心。
进阶能力(企业版)
- 高可用部署与跨区域故障转移
- 高级威胁检测:异常登录行为告警
- 细粒度 RBAC(基于角色的访问控制)与完整审计事件流
- 专属 SLA 支持
企业版模块在 authentik/enterprise/ 下,社区版已包含完整的事件记录与任务系统。
生态与资源
- 贡献指南:CONTRIBUTING.md,含代码与文档提交规范
- 蓝图模板库:blueprints/ 目录,预置默认流程、RBAC 角色、Entra/Microsoft 集成等 30+ 模板,导入即生效
- 本地化:locale/ 目录覆盖 20+ 语言,经 Transifex 协作翻译
- 社区:Discord 社区 8000+ 成员,安全漏洞走 SECURITY.md 披露
开始迁移
authentik 当前版本 2026.11,MIT 协议(文档 CC BY-SA,企业版 EE 协议),核心持续迭代 SSO、SCIM 与 Outpost 服务。
下一步:按 website/docs/install-config/install/docker-compose.mdx 在一台 2GB 内存的机器上花 5 分钟拉起实例,把现有的 Grafana 或 GitLab 接上 OAuth2,验证登录链路通了,再规划生产迁移。仓库地址 https://gitcode.com/GitHub_Trending/au/authentik ,装完发现协议映射或流程编排的问题,直接提 PR。
【免费下载链接】authentikThe authentication glue you need.项目地址: https://gitcode.com/GitHub_Trending/au/authentik
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考