跳到主内容

Casdoor 与 Authentik 对比

从家庭实验室到公司部署,Authentik 和 Casdoor 都是自托管单点登录的热门选择。两者都提供 OIDC、SAML、LDAP 接入和网页管理后台。主要区别在于运行时、登录流程的建模方式,以及开源版包含哪些功能。

摘要​

CasdoorAuthentik
后端Go,单个可执行文件Python(Django)服务端和 worker,加上 Go 编写的 outpost
数据库MySQL、MariaDB、PostgreSQL、SQL Server、Oracle、SQLite 等PostgreSQL
许可证书Apache-2.0核心为 MIT;部分功能需要付费的企业版
登录建模在界面中按应用配置登录页和注册页由 stage 和 policy 组成的 flow
OAuth 2.0、OIDC、SAML是是
CAS内置不
面向传统客户端的 LDAP 和 RADIUS由 Casdoor 进程直接提供由单独的 outpost 提供
保护本身没有登录功能的应用Sites reverse proxy, plus casdoor-forward-auth for Traefik, Caddy, and Nginx, and an Envoy filter代理提供商加 outpost
AI 智能体和 MCP内置 MCP 服务器;为 MCP 提供 OAuth 2.1 授权服务器标准 OAuth

架构与运维​

Authentik 运行一个服务端容器和一个 worker 容器,后端是 PostgreSQL。 LDAP 提供商、RADIUS 提供商、代理提供商等功能以额外的 outpost 容器运行,由 Authentik 管理。

Casdoor 只有一个 Go 进程加一个数据库。 LDAP、RADIUS、CAS、SAML 和 OIDC 都由这个进程提供。快速体验:

docker run -p 8000:8000 casbin/casdoor-all-in-one

组件越少,在小机器上、以及半夜出故障时越省心。

Flow 与页面​

Authentik 的核心概念是 flow:由多个 stage(身份识别、密码、MFA、同意等)按顺序组成,并绑定 policy。它非常灵活。几乎任何登录逻辑都能表达,代价是在做出第一个自定义登录之前,得先学会这套模型。

Casdoor 更直接。每个 应用 都有一个登录页和一个注册页。在管理后台选择 登录方式、提供商、注册表单字段、MFA 规则和 页面外观。大多数团队能更快得到想要的效果,只是做出特别另类的东西的空间小一些。

登录提供商​

Authentik 支持常见的社交登录,以及通用的 OAuth、SAML 和 LDAP 来源。

Casdoor 内置 70 多个 OAuth 提供商,还有 SAML、LDAP 和 Web3 钱包。如果你的用户用微信、钉钉、飞书、支付宝或 QQ 登录,Casdoor 无需额外开发就能支持。

反向代理认证​

Authentik 的代理提供商很受家庭实验室用户欢迎:它能在本身没有登录功能的应用前面加一层登录。

Casdoor 提供两种方式达到同样效果。 Sites 是内置的反向代理,支持 TLS 证书和流量 规则。如果你已经在用代理,可以使用 Nginx、Traefik 或 Envoy 的集成。

许可证​

Casdoor 的整个仓库都是 Apache-2.0。

Authentik 的核心采用 MIT 许可证,另有一部分功能只在企业版中提供。具体列表请查看 Authentik 当前的价格页面,因为它会随版本变化。

AI 智能体和 MCP​

Casdoor 把管理 API 以 MCP 服务器 的形式提供,同时充当 第三方 MCP 服务器的 OAuth 2.1 授权服务器,支持动态客户端注册、PKCE 和资源指示符。如果你要给 MCP 工具加认证,可以直接用。

如何选择​

如果你想用 flow 和 policy 设计登录逻辑,或者已经依赖它的代理 outpost,选 Authentik。

如果你想要一个小而单一的服务、更多内置登录提供商、CAS 服务器、可选的数据库、仓库中所有功能都是 Apache-2.0 许可,或者内置 MCP 支持,选 Casdoor。

You can self-host Casdoor for free, or let us run it: Casdoor Cloud gives you a dedicated instance, priced per instance rather than per user.

另见 对比概览。