前言
最近因为项目需求,研究了一下几款主流的认证框架,包括CAS、DEX、Keycloak等,浅浅的做了个对比,在此做个记录
总结
认证框架 | CAS | DEX | Keycloak | MaxKey | Sa-Token | JAP |
简述 | CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作(登录);CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。 | DEX是一款简单的用户认证系统,支持OpenID Connect (OIDC)和OAuth 2.0协议,并通过可插拔的连接器(Connectors)支持对接多种认证后端。 | Keycloak为Web应用和Restful服务提供了一站式的单点登录解决方案。它的目标就是让应用的安全管理变得简单,让开发人员可以轻松地保护他们的应用程序和服务。并且Keycloak为登录、注册、用户管理提供了可视化管理界面,你可以借助于该界面来配置符合你需要的安全策略和进行用户管理。 | MaxKey单点登录认证系统是业界领先的IAM-IDaas身份管理和认证产品,支持OAuth2.x、OpenID Connect、SAML2.0、JWT、CAS、SCIM等SSO标准协议,开源、安全、自主可控。 | Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。 | JustAuthPlus(以下简称"JAP")是一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的 WEB 应用提供一套标准的技术解决方案,开发者可以基于 JAP 适配绝大多数的 WEB 系统 |
语言 | go | java | java | java | java | |
最后更新时间(截止2023-02-20) | 2023/2/10 | 2022/10/12 | 2023/1/13 | 2023/2/14 | 2023/1/11 | 2021/12/7 |
最新版本(截止2023-02-20) | v6.6.5 | v2.35.3 | 20.0.3 | 3.5.14 | v1.34.0 | v1.0.7 |
社区活跃度 | 高 | 高 | 高 | 高 | 高 | |
语言支持 | 客户端支持多语言 | 支持多语言 | ||||
协议支持 | ||||||
OIDC | √ | √ | √ | √ | 不完全支持 | √ |
OAuth 2.0 | √ | √ | √ | √ | √ | √ |
LDAP | √ | √ | √ | √ | X | √ |
CAS 3.0 | √ | X | X | √ | X | X |
SAML2 | √ | √ | √ | √ | X | √ |
JWT | √ | √ | √ | √ | X | √ |
用户同步 | 需要扩展 | 需要扩展 | 支持ldap,其它需要扩展 | 支持(企业版) | 需要扩展 | 需要扩展 |
配置热更新 | 支持 | 支持 | ||||
用户数据存储 | 支持mysql | |||||
官网 | Apereo | Dex | Keycloak | MaxKey-业界领先的IAM身份管理和认证产品 | Sa-Token | JustAuthPlus 统一登录认证软件_符节科技_统一身份认证_单点登录_安全审计_第三方登录_IDaaS |
代码仓库 | GitHub - apereo/cas: Apereo CAS - Identity & Single Sign On for all earthlings and beyond. | GitHub - dexidp/dex: OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors | GitHub - keycloak/keycloak: Open Source Identity and Access Management For Modern Applications and Services | MaxKey: MaxKey单点登录认证系统是业界领先的IAM-IDaas身份管理和认证产品,支持OAuth2.x、OpenID Connect、SAML2.0、JWT、CAS、SCIM等SSO标准协议,开源、安全、自主可控。 | 地址:https://github.com/dromara/sa-token | jap: JAP 是一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的 WEB 应用提供一套标准的技术解决方案,开发者可以基于 JAP 适配绝大多数的 WEB 系统(自有系统、联邦协议)。Just auth into any app! |
文档 | CAS - Support | Dex | https://www.keycloak.org/docs/latest/securing_apps/index.html https://www.keycloak.org/docs-api/19.0.1/rest-api/index.html | MaxKey-业界领先的IAM身份管理和认证产品 | Sa-Token | 使用指南 | JA Plus 开发者文档 |
试用 | http://localhost:8080/cas_war/login casuser/Mellon | http://xxx:5555/login admin@example.com/password | http://xxx:8080/ admin/admin | http://127.0.0.1 | Snowy | |
备注 | 社区版、企业版功能不一致 https://maxkey.top/zh/about/cevsenterprise.html?202302160345 对比:https://maxkey.top/zh/about/cevscas.html | 极简代码 | 模块化组件化,开箱即用 |