Casdoor v4
CNCF全景图开源IAM新增MCP授权服务器,为AI Agent发放身份并记录操作轨迹
Casdoor v4 · Description
技能简介
Casdoor v4 是一款进 CNCF 云原生全景图的开源身份认证平台(IAM / SSO),本次更新重点引入了对 AI Agent 和 MCP Server 的原生身份管理与授权支持。在 v4 版本中,Casdoor 完成了控制台从 Ant Design 到 shadcn/ui + React 18 + Tailwind + Vite 的全面重构,同时补齐了 OAuth 2.1 动态客户端注册(DCR)、MCP Server 授权、DCR 客户端继承默认应用配置等 AI 时代必备能力,形成了一条"给 Agent 发身份 → Agent 持身份调 MCP 工具 → 运行轨迹以 OTLP 落成可查记录"的完整链路。
核心能力
一、身份认证与授权核心 Casdoor 作为独立身份提供方(IdP),而非登录代理或代码库。用户数据存储在 Casdoor,OAuth 2.0、OIDC、SAML 2.0、CAS、LDAP、SCIM 2.0 五种协议均可访问同一套用户目录。这使得新写的 SPA 应用和已有十年历史的只认 CAS 的老系统可以共用同一套账号体系,在国内企业多系统并存的场景下尤为实用。
二、内置 MCP Server(Casdoor Self) Casdoor 自身暴露为一个 MCP Server,代码位于 mcpself/ 目录,暴露 15 个工具,覆盖 user、application、permission 三类对象的完整 CRUD 操作。Claude Code、Cursor、Windsurf 等主流 AI 编程工具接入后,用户可以直接用自然语言下达"给这个组织添加一个用户"等指令,无需手动操作控制台或调用 API。
三、MCP Server 授权服务器 MCP 规范要求远程 Server 使用 OAuth 2.1 鉴权,但 AI Agent 客户端在运行前无法预知需要向哪个授权服务器注册,因此动态客户端注册(DCR)是 MCP 规模化部署的必备能力。Casdoor v4 完整实现了 RFC 7591 的 DCR 规范,注册端点通过 .well-known/openid-configuration 对外公布,客户端可自动发现;RFC 7592 的客户端管理同步补齐。DCR 注册的客户端会继承默认应用配置(品牌化字段、密码登录、身份源等),而非从空白状态开始。
四、AI Agent 遥测接入(OpenClaw OTLP) OpenClaw 代理端采集 LLM 应用的 trace / metric / log,以 OTLP 格式推送至 Casdoor 指定端点(/api/v1/traces、/api/v1/metrics、/api/v1/logs),均支持 application/x-protobuf 格式。在 Casdoor 中新建类型为 Agent (OpenClaw) 的 Log provider(Host 字段作为 IP 白名单)后,每个 payload 落地为一条 Entry,记录来源 IP、UA,按 span 树结构在控制台展开查看。已在 Agents 登记过的 Agent,其遥测数据可与身份信息关联对应。
五、企业目录与 SSO 能力 支持 OIDC 身份源类型、LDAP 独立密码重置、内置 LDAP 服务端(SambaSAMAccount 支持)、企业微信部门同步,以及 Redis Cluster 高可用方案、过期 token 分批清理、细粒度权限控制等企业级特性。
安装配置
方式一:All-in-One 一键部署(推荐体验) 执行以下命令即可在本地启动完整 Casdoor 实例(内置 SQLite 和示例数据): docker run -p 8000:8000 casbin/casdoor-all-in-one 启动后访问 http://localhost:8000,组织填写 built-in,用户名 admin,密码 123 登录管理控制台。此方式内置 SQLite 和演示数据,仅供体验,请勿用于生产环境。
方式二:生产级 Docker 部署 生产环境推荐使用 docker-compose 或独立容器方式,绑定 MySQL 或 PostgreSQL 数据库,通过环境变量或配置文件指定数据库连接信息。控制台可对非管理员账户隐藏,登录会话删除时自动吊销关联 OAuth token。
方式三:源码自行构建 Casdoor 采用 Go(后端)+ React(前端)+ Tailwind(样式)+ Vite(构建)架构,从 GitHub 克隆代码后,依次执行后端编译和前端构建,将构建产物部署至指定 Web 服务器或 CDN。注意 v4 版本产物路径从 CRA 的 build/static/{js,css} 变更为 Vite 的 build/assets/,通过 CDN 或反向代理分发静态文件时需相应调整路径配置。
环境依赖
- 数据库:SQLite(All-in-One 默认)、MySQL、PostgreSQL、Redis(Cluster 模式可选)
- 运行时:Go ≥ 1.21(后端编译)、Node.js ≥ 18(前端构建)
- 端口:默认 8000 控制台端口,API 端点 /api/*
使用步骤
步骤一:完成基础部署与初始配置 通过 Docker 或源码完成 Casdoor 部署,使用默认账号登录控制台。建议第一时间修改默认密码,并根据实际组织架构创建部门、用户和应用。控制台内置中文界面,可配置品牌化要素(Logo、名称)。
步骤二:创建第一个应用并配置认证协议 在控制台 Applications 页面创建新应用,选择启用 OAuth 2.0、OIDC 或 SAML 2.0 等协议,配置回调地址和权限范围。获取 client_id 和 client_secret,提供给需要对接的应用。
步骤三(面向 MCP Agent):配置动态客户端注册 如果需要让 AI Agent 自动注册到 Casdoor 获取身份,需在 Casdoor 控制台启用 DCR 功能,并在 Agent 端配置 DCR 注册端点地址(.well-known/openid-configuration)。Casdoor v4 会自动将默认应用配置继承给 DCR 新注册客户端,省去逐个配置的繁琐。
步骤四:连接 AI 工具或 MCP 客户端 以 Claude Code 为例,在配置文件 claude_desktop_config.json 中添加 casdoor MCP Server,URL 填写 https://your-casdoor.com/api/mcp,请求头携带 Bearer token 鉴权。配置完成后即可在对话中用自然语言管理 Casdoor 中的用户、应用和权限。
步骤五:接入 OpenClaw 遥测(可选) 在 Casdoor 新建 Log provider,类型选择 Agent (OpenClaw),填入 OpenClaw 代理所在 IP 作为白名单。在 OpenClaw 端配置 OTLP HTTP 导出器指向 Casdoor 的 /api/v1/traces 等端点,即可在 Casdoor 控制台查看 Agent 运行轨迹和工具调用记录。
适用场景
场景一:企业多系统统一身份管理 组织内部存在 ERP、CRM、自研系统等多种应用,部分老系统只支持 LDAP 或 CAS,新系统需要 OAuth 2.0/OIDC,Casdoor 作为统一 IdP 解决多协议并存下的账号孤岛问题,同一账号一次登录,各系统均可通过对应协议访问。
场景二:AI Agent 的身份与权限管理 在 Multi-Agent 系统或 AI Coding 工具(Claude Code、Cursor 等)需要调用 MCP 工具时,通过 Casdoor 的 MCP 授权服务器为每个 Agent 赋予独立身份,按最小权限原则分配工具调用范围,实现 Agent 操作的精细化权限控制与可追溯审计。
场景三:MCP Server 的 OAuth 2.1 授权 开发者自建或引入第三方 MCP Server,需要为其配置标准 OAuth 2.1 鉴权时,Casdoor 提供完整的 DCR 端点、PKCE 支持和令牌颁发验证能力,开发者无需自行实现复杂的 OAuth 流程,即可让 MCP 客户端安全地发现和访问远程 MCP Server。
场景四:AI 应用运行审计(OpenClaw 集成) 使用 OpenClaw 代理 AI 应用时,通过 Casdoor 接收并存储 OTLP 格式的运行轨迹数据,在 Casdoor 控制台按 Agent 身份、会话 ID、时间范围等条件检索和可视化回放工具调用链路,为 AI 应用的调试、合规和故障排查提供依据。
适用人群
Casdoor 面向以下用户:需要统一管理多套系统账号的企业 IT 管理员;构建 Multi-Agent 系统并需要对 Agent 进行身份认证和权限控制的 AI 应用开发者;在团队或企业内部署 MCP Server 需要标准 OAuth 授权基础设施的技术负责人;以及需要集中管理 AI 应用运行轨迹并进行合规审计的安全与运维人员。
工作原理
Casdoor 本质是一个独立部署的身份提供方服务,采用 Clean Architecture(前后端分离)。后端使用 Go 语言编写,接收来自各类应用的认证请求、签发令牌、管理用户目录;前端使用 React + Tailwind 构建控制台界面,通过 HTTP API 与后端通信。
在 MCP 授权流程中:当 MCP Client(如 Claude Code)需要调用远程 MCP Server 时,首先向 Casdoor 的 DCR 端点自动注册,获取 client_id/client_secret;而后通过 Authorization Code Flow + PKCE 向 Casdoor 请求 access_token;持令牌访问 MCP Server 时,Casdoor 作为资源服务器验证令牌有效性并检查对应权限范围;整个交互全程符合 RFC 7591/7592 规范。
OpenClaw 遥测接入则由 OpenClaw 端按固定格式推送 OTLP HTTP protobuf payload 至 Casdoor,Casdoor 将每条记录关联来源 IP 和 Agent 身份存储,在控制台提供 span 树可视化和按条件检索能力。
官方链接
GitHub 仓库:https://github.com/casdoor/casdoor 官网文档:https://casdoor.ai 在线 Demo(可写,五分钟重置):https://demo.casdoor.com 在线 Demo(只读):https://door.casdoor.net CNCF 全景图:https://landscape.cncf.io/?item=provisioning--security-compliance--casdoor MCP 集成文档:https://casdoor.ai/docs/how-to-connect/mcp/integration
评论与建议
登录 后参与评论或提建议