Casdoor 身份管理平台:单点登录部署教程与 MFA 配置完整指南
【免费下载链接】casdoorAn open-source Agent-first Identity and Access Management (IAM) /LLM MCP & agent gateway and auth server with web UI supporting OpenClaw, MCP, OAuth, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, Google Workspace, Azure AD项目地址: https://gitcode.com/gh_mirrors/ca/casdoor
公司系统越上越多:OA 一套账号、CRM 一套、内部工具又是一套,谁开了权限、谁离职了还没回收,没人说得清。Casdoor 就是干这个的——一个带 Web 管理界面的单点登录(SSO)与身份管理平台,让所有系统共用一套账号和权限。
项目速写
Casdoor 是一个开源、可自托管的身份与访问管理(IAM)平台:用户目录、令牌签发、管理后台都在一个服务里,应用方不用自己碰密码。几个关键事实:
- 认证协议覆盖 OAuth 2.0、OIDC、SAML 2.0、CAS、LDAP、SCIM 2.0、WebAuthn、TOTP/MFA,还内置 MCP 协议支持
- 可对接 GitHub、Google Workspace、Microsoft Entra ID(Azure AD)等第三方身份源
- 后端 Go 单二进制,前端 React,部署时只需一个数据库
- 完全免费开源,自带 Web 控制台,配置基本在界面上完成
用 SSO 打通内部系统:一次登录访问所有应用
场景:员工每天早上要在五六个系统里各输一次密码,改密码更是灾难。
做法:把这些应用都注册为 Casdoor 的 Application,登录页由 Casdoor 统一接管。现代前端走 OAuth 2.0 / OIDC,老系统只支持 CAS 也没关系,同一套账号目录对所有协议开放,新旧应用可以共存。
配置在 Web 控制台的 Application 页面里完成,OAuth、SAML、登录页品牌样式都能在线改,改完不用重新部署。相关后端逻辑在 object/ 目录,OAuth 令牌处理集中在 object/token_oauth.go 这类文件。
开启 TOTP 二次验证:给账号加一道 MFA
场景:账号密码泄露后,内网系统直接失守。
Casdoor 支持 TOTP 动态口令、短信验证码、WebAuthn 硬件密钥等多种多因素认证(MFA),按组织或按用户粒度开启,还可以设 TOTP 使用期限避免密钥无限期有效。
前端验证组件在 web/src/auth/ 目录,登录页的多因素流程见 web/src/pages/auth/MfaSetupPage.tsx;TOTP 校验逻辑在 object/mfa_totp.go,短信、Radius 等通道分别在 object/mfa_sms.go、object/mfa_radius.go。
对接 GitHub、Google 等第三方登录
不想让用户自己记新密码?Casdoor 内置了大量身份提供者:GitHub、Google、微信、钉钉、企业微信、Lark、QQ 等,每个 provider 的对接代码都在 idp/ 目录,按文件命名一目了然。管理员在控制台启用某个 provider 后,登录页会自动出现对应的第三方登录入口,新用户首次通过第三方登录可自动完成注册。
用 LDAP / SCIM 管理账号生命周期
企业里账号往往是批量进出的。Casdoor 既能作为 LDAP 服务端,也提供 SCIM 2.0 接口:员工入职时由上游系统推送创建,离职时同步禁用,避免"人已走、号还在"。同步能力还支持从 Google Workspace、Azure AD 等数据源定时拉取用户,相关实现在 object/syncer_*.go 系列文件中。
三步启动你的 SSO 服务
拉取代码(需要 Go 环境):
git clone https://gitcode.com/gh_mirrors/ca/casdoor cd casdoor改数据库配置:编辑 conf/app.conf,把
driverName和dataSourceName改成你的数据库连接(也支持 SQLite),其余参数可保持默认。启动并访问:
go run main.go浏览器打开
http://localhost:8000,用内置账号built-in / admin登录,先在控制台里创建组织和应用,再开始接入第一个系统。
架构一览
后端是 Go 编写的模块化服务:路由入口在 controllers/ 目录,每个文件对应一类资源(用户、应用、令牌、同步器),核心业务逻辑集中在 object/ 包,授权策略基于 Casbin 实现 ACL / RBAC / ABAC。
前端是 React + TypeScript,代码在 web/src/,页面与组件分目录组织,登录、MFA、回调等认证页面位于web/src/pages/auth/下,前后端均可独立阅读和扩展。
适合谁用,下一步做什么
适合:有 3 个以上内部系统需要统一登录的团队;想自建 IAM 而不是采购商业 SaaS 的公司;需要给 AI Agent / MCP 网关加一层认证的服务方。
不适合:只是在现有反向代理前挂一个登录框的场景——那种需求用更小的工具就够,Casdoor 的定位是你想自己拥有整个用户目录。
三条落地建议:
- 生产环境给 Casdoor 前面挂一层负载均衡,并配置好 Redis(
conf/app.conf中redisEndpoint)分担会话压力 - 上线前先按组织粒度配好 MFA 策略和登录页品牌,再批量接入应用
- 保持版本更新,认证组件的安全修复要及时跟进
【免费下载链接】casdoorAn open-source Agent-first Identity and Access Management (IAM) /LLM MCP & agent gateway and auth server with web UI supporting OpenClaw, MCP, OAuth, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, Google Workspace, Azure AD项目地址: https://gitcode.com/gh_mirrors/ca/casdoor
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考