news 2026/9/5 22:03:28

authentik 完整指南:开源单点登录 IdP 如何一次登录打通 SAML、OAuth2 和 LDAP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
authentik 完整指南:开源单点登录 IdP 如何一次登录打通 SAML、OAuth2 和 LDAP

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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 22:03:19

LeRobot教程:5分钟跑通你的第一个机器人策略

LeRobot教程&#xff1a;5分钟跑通你的第一个机器人策略 【免费下载链接】lerobot &#x1f917; LeRobot: Making AI for Robotics more accessible with end-to-end learning 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot 想让你的机械臂抓起杯子&#…

作者头像 李华
网站建设 2026/9/5 21:59:46

LDPC仿真到硬件部署的全链路工程实践

简介&#xff1a;本资源是一套面向通信工程专业学生、研究生及纠错编码初学者的LDPC码与喷泉码MATLAB仿真实践包&#xff0c;聚焦低密度奇偶校验码的原理理解、编译码实现与性能分析。压缩包共8个文件&#xff0c;全部为MATLAB脚本&#xff08;.m&#xff09;&#xff0c;涵盖Q…

作者头像 李华
网站建设 2026/9/5 21:59:32

Slint 声明式动画上手:4 个参数、3 个配方让界面交互动起来

Slint 声明式动画上手&#xff1a;4 个参数、3 个配方让界面交互动起来 【免费下载链接】slint Slint is an open-source declarative GUI toolkit to build native user interfaces for Rust, C, JavaScript, or Python apps. 项目地址: https://gitcode.com/GitHub_Trendin…

作者头像 李华
网站建设 2026/9/5 21:58:33

基于Vue+SpringBoot的轻量级菜谱推荐系统设计

简介&#xff1a;本资源是一套完整的基于Vue与SpringBoot的智能菜谱推荐系统毕业设计/课程设计实现方案&#xff0c;面向计算机专业本科生及Java前端全栈初学者&#xff0c;解决日常饮食决策中个性化、便捷化菜谱获取的实际问题。压缩包共584个文件&#xff0c;含123个Java后端…

作者头像 李华
网站建设 2026/9/5 21:53:20

安卓推箱子高分项目:Java+Canvas原生开发实战

简介&#xff1a;本资源是一套基于Android Studio开发的推箱子小游戏完整项目源码&#xff0c;专为安卓课程设计、期末大作业及初学者实践打造&#xff0c;适用于计算机科学、人工智能、通信工程等专业在校学生及入门开发者。项目已通过本地编译与功能测试&#xff0c;评审得分…

作者头像 李华