Keycloak vs Ory Kratos:身份平台该选开箱式管理还是 API-first 组件?
核验日期:2026年10月17日,Europe/London。本文依据双方官方资料与场景分析,未进行性能、安全或成本实测,不设统一赢家。需要身份与访问管理服务器、标准协议、管理控制台和较完整产品形态的团队,先评估 Keycloak;希望构建自定义身份流程,并以 API 组件嵌入自己的应用架构的团队,先评估 Ory Kratos。

快速建议
核验日期:2026年10月17日,Europe/London。本文依据双方官方资料与场景分析,未进行性能、安全或成本实测,不设统一赢家。需要身份与访问管理服务器、标准协议、管理控制台和较完整产品形态的团队,先评估 Keycloak;希望构建自定义身份流程,并以 API 组件嵌入自己的应用架构的团队,先评估 Ory Kratos。
Keycloak
需要身份与访问管理服务器、标准协议、管理控制台和较完整产品形态的团队
Ory Kratos
希望构建自定义身份流程,并以 API 组件嵌入自己的应用架构的团队
快速比较
表格可横向滚动查看全部产品。
| 产品 | 适合谁 | 主要定位 |
|---|---|---|
| Keycloak | 需要身份与访问管理服务器、标准协议、管理控制台和较完整产品形态的团队 | 需要身份与访问管理服务器、标准协议、管理控制台和较完整产品形态的团队 |
| Ory Kratos | 希望构建自定义身份流程,并以 API 组件嵌入自己的应用架构的团队 | 希望构建自定义身份流程,并以 API 组件嵌入自己的应用架构的团队 |
功能对比
表格可横向滚动查看全部产品。
| 比较维度 | Keycloak | Ory Kratos |
|---|---|---|
| 维度 | Keycloak | Ory Kratos |
| 定位 | 身份与访问管理服务器 | Headless identity/user management |
| 界面 | 管理控制台与可定制主题 | 开发者构建自己的前端 UI |
| 协议集成 | OIDC、SAML 等 IAM 客户端能力 | 身份流和 API;生态组件按需求组合 |
| 身份模型 | realm、client、role、user 等 | schema 与 identity traits |
| 流程扩展 | 认证、注册等服务器配置 | API-first 自定义账户流程 |
| 运营复杂度 | 服务器配置与升级治理 | 前后端集成和额外组件治理 |
| 数据责任 | 数据库、备份、密钥和身份事件 | 身份 schema、会话、UI 和密钥治理 |
| 适配团队 | 平台 IAM 与标准集成团队 | 产品工程与自定义 UX 团队 |
| 迁移测试 | 协议客户端与角色映射 | 用户 schema、凭据、会话和 UI 流程 |
详细比较
需求边界与产品范围
Keycloak 与 Ory Kratos 的差异不只在登录协议,而是身份产品的形态。Keycloak 提供一个相对完整的身份与访问管理服务器,含管理界面和标准客户端集成;Kratos 是 headless、API-first 用户身份管理组件,应用团队构建自己的交互界面。
先列出需要解决的问题:用户注册和登录、企业 SSO、角色和权限、社交登录、MFA、账户恢复、租户隔离、管理员审批。不要把认证 authentication 与授权 authorization 混成一个功能列表。
服务端与 headless 架构
Keycloak 的 realm、client、role 和用户管理概念适合集中维护多应用身份配置。协议、映射、身份联邦和主题能力可减少自行构建标准集成,但配置面较大,升级和管理权限需要清晰责任。
Ory Kratos 使用 identity schema 描述账户 traits,并通过管理 API 操作身份。headless 特征便于产品设计自定义 UX、注册流程和账户页面,但意味着团队需要创建表单、状态反馈、前端与后端交互、反机器人措施和无障碍支持。
协议和应用集成
标准协议的实际兼容需要以客户端测试确认。对每个应用验证 redirect URI、issuer、claim mapping、scope、PKCE、logout 和 token 生命周期。协议页面声称支持某能力,并不能替代与现有 SaaS、移动客户端或代理实际联调。
账户迁移是最大风险之一。盘点用户数、凭证哈希算法、已验证邮箱、MFA 凭证、社交身份关联和会话。设计不会泄露账号状态的渐进迁移,并测试登录失败、重置密码、锁定解除和删除请求。
账号迁移与恢复
部署和恢复涉及身份数据库、加密密钥、会话存储、秘密和邮件发送。对任何 IAM 系统都要保护管理员入口、隔离管理面、设置 MFA、记录管理活动并备份数据库。自托管不自动意味着数据隐私或安全已经充分。
用三个场景做试点:普通用户注册、企业 SSO 用户登录、账户恢复并启用 MFA。记录开发工作量、前端调整、策略表达能力、日志可读性和升级回归成本。测试 IdP 暂时不可用时,用户如何登录以及管理员如何救援。
安全运维责任
如果需求是较完整 IAM 服务器、管理界面和广泛应用协议配置,先评估 Keycloak。若产品需要完全自定义身份 UX、API 组件和开发者控制流程,先评估 Ory Kratos,并明确还需要哪些 Ory 服务或自建组件。
两者的安全结果都取决于实现和运维。比较对象应是完整方案而非单个二进制:UI、邮件、会话、MFA、授权、日志、备份和用户支持都需计入。不要把未经真实迁移验证的账号导入当成可回滚方案。
实施验证清单
试点前把定位、界面、协议集成、身份模型转成可复现的验收项,固定产品版本、数据样本、权限和失败条件。逐项记录配置差异、人工操作次数、日志证据与恢复结果;没有观察到的能力不要根据宣传页推断。
再安排一次故障和退出演练:确认数据导出、账号回收、未完成任务处理、审计记录保存及回退路径。试点结论应能解释什么工作负载选择Keycloak,什么边界更适合Ory Kratos,并由实际维护团队复核。
逐项比较:这些差异会怎样影响选择
在“定位”维度,Keycloak采用身份与访问管理服务器,Ory Kratos采用Headless identity/user management。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“界面”维度,Keycloak采用管理控制台与可定制主题,Ory Kratos采用开发者构建自己的前端 UI。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“协议集成”维度,Keycloak采用OIDC、SAML 等 IAM 客户端能力,Ory Kratos采用身份流和 API;生态组件按需求组合。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“身份模型”维度,Keycloak采用realm、client、role、user 等,Ory Kratos采用schema 与 identity traits。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“流程扩展”维度,Keycloak采用认证、注册等服务器配置,Ory Kratos采用API-first 自定义账户流程。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“运营复杂度”维度,Keycloak采用服务器配置与升级治理,Ory Kratos采用前后端集成和额外组件治理。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“数据责任”维度,Keycloak采用数据库、备份、密钥和身份事件,Ory Kratos采用身份 schema、会话、UI 和密钥治理。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“适配团队”维度,Keycloak采用平台 IAM 与标准集成团队,Ory Kratos采用产品工程与自定义 UX 团队。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
在“迁移测试”维度,Keycloak采用协议客户端与角色映射,Ory Kratos采用用户 schema、凭据、会话和 UI 流程。确认这项差异是否影响关键路径、团队责任或失败恢复,再用当前版本和真实任务验证权限、输出及维护成本;偶尔使用的功能不应凌驾于整体适配度。
官方参考资料与核验范围
核验日期:2026年10月17日,Europe/London。以下链接为产品或标准官方资料,用于核对功能与边界;本文未进行性能、安全或成本实测。当前版本、套餐及部署组合应按实际采用范围复核。
- https://www.keycloak.org/documentation
- https://www.keycloak.org/guides
- https://www.ory.com/docs/kratos/manage-identities/overview
- https://www.ory.com/docs/kratos/manage-identities/create-users-identities
- https://www.ory.com/docs/network/kratos/intro
各项对比结果
- 需要身份与访问管理服务器、标准协议、管理控制台和较完整产品形态的团队 → 优先评估 Keycloak
- 希望构建自定义身份流程,并以 API 组件嵌入自己的应用架构的团队 → 优先评估 Ory Kratos
优点与限制
Keycloak
优点
- 成熟开源身份与访问管理服务器,提供常见协议和管理界面
- 支持 realms、clients、users、roles 和 identity federation 等概念
- 适合组织已有标准 IAM 管理和运维能力
不足
- 功能面广,部署升级、配置治理和 realm 模型较复杂
- 默认主题或流程可能需定制,仍需安全配置审查
Ory Kratos
优点
- API-first 用户身份管理,提供登录、注册、账户恢复等流程能力
- 身份 schema 可定义应用所需的 traits 和字段
- 适合由产品团队构建完全定制的登录与账户界面
不足
- Headless 架构意味着前端 UI、会话和部分流程需自行实现
- 若需授权、OAuth/OIDC provider 或更广 IAM 能力,需要组合 Ory 产品
如何选择
- 选择 Keycloak,如果你:
- 需要身份与访问管理服务器、标准协议、管理控制台和较完整产品形态的团队
- 选择 Ory Kratos,如果你:
- 希望构建自定义身份流程,并以 API 组件嵌入自己的应用架构的团队
最终建议
依据代表性工作负载验证功能、维护责任与恢复条件;已有可靠流程不必仅因工具名称而迁移。
常见问题
Ory Kratos 自带登录页面吗?
Ory 描述 Kratos 为 headless 系统,应用通过 API/SDK 构建自身 UI。团队要为错误反馈、无障碍、验证码和会话体验承担实现责任。
Keycloak 和 Kratos 都提供身份验证吗?
两者都能参与用户身份流程,但产品范围和集成方法不同。Keycloak 是更完整的 IAM 服务器;Kratos 聚焦身份与用户管理,其他能力可能需要额外组件。
哪个更符合标准协议?
应根据客户端所需协议和流程逐项验证当前支持、配置方式和部署版本,避免只比较产品的协议清单。
迁移账号时会保留密码吗?
取决于密码哈希算法、schema、导出路径和客户端策略。设计渐进式迁移与强制重置备选,并先验证密码校验和账户恢复。