最近想要买通几个应用程序的用户关系,搞一个集中式的用户管理系统来对立治理利用的用户体系。通过一番调研选中了红帽开源的 Keycloak,这是一款十分弱小的对立认证受权治理平台。之所以选中了Keycloak 是基于以下几个起因。
易用性
Keycloak为 Web 利用和 Restful 服务提供了一站式的单点登录解决方案。它的指标就是让利用的平安治理变得简略,让开发人员能够轻松地爱护他们的应用程序和服务。并且 Keycloak 为登录、注册、用户治理提供了可视化治理界面,你能够借助于该界面来配置合乎你须要的安全策略和进行用户治理。而且还能够
功能强大
Keycloak实现了业内常见的认证受权协定和通用的平安技术,次要有:
- 浏览器应用程序的单点登录(SSO)。
- OIDC 认证受权。
- OAuth 2.0。
- SAML。
- 多租户反对。
- 身份代理 – 应用内部 OpenID Connect 或 SAML 身份提供商进行身份验证。
- 第三方登录。
- 用户联盟 – 从 LDAP 和 Active Directory 服务器同步用户。
- Kerberos 网桥 – 主动验证登录到 Kerberos 服务器的用户。
- 用于集中管理用户、角色、角色映射、客户端和配置的治理控制台。
- 用户账户集中管理的治理控制台。
- 自定义主题。
- 两段身份认证。
- 残缺登录流程 – 可选的用户自注册、复原明码、验证电子邮件、要求明码更新等。
- 会话治理 – 管理员和用户本人能够查看和治理用户会话。
- 令牌映射 – 将用户属性、角色等映射到令牌和语句中。
- 安全策略复原性能。
- CORS 反对 – 客户端适配器具备对 CORS 的内置反对。
- 自定义 SPI 接口扩大。
- JavaScript 应用程序、WildFly、JBoss EAP、Fuse、Tomcat、Jetty、Spring 等客户端适配器。
- 反对任何具备 OpenID Connect Relying Party 库或 SAML 2.0 Service Provider 库的平台 / 语言。
而且有专门的 Spring Boot Starter,非常容易集成到 Spring Boot 中。
基于实际的开源
红帽出品,必属精品。红帽良好的口碑决定了 Keycloak 的可靠性。它遵循 Apache 2.0 开源协定进行开源,通过八年的继续开源,代码品质很高,非常适合做定制化开发。红帽的商业付费认证受权产品 Red Hat SSO 就是基于 Keycloak。为企业提供了动静单点登录的解决方案,间接证实了Keycloak 的可靠性。
适配 Spring Security
这个框架对 Spring Security 和Spring Boot做了适配,非常适合应用了这两种体系的迁徙扩大。这也是我抉择它的重要起因之一。
毛病
尽管长处十分多,然而毛病也很显著。功能强大就意味着架构比较复杂,概念比拟多,学习老本比拟高。
学习老本比拟高的另一个起因是中文材料比拟少,须要本人去啃官网的文档。对于业务须要的认证形式可能会须要自行实现一些接口,同样考验着集体的编码能力。
最初
胖哥对这个货色关注了很久却没有下手,第一是因为它的确有挑战性,第二没有理论的开发场景,当初机会来了,明天对这个框架进行一个简略的介绍,让不理解它的同学先简略理解一下。如果你对 Keycloak 进行了具体的钻研和实际,基本上可能搞定一些大中型的利用平安体系构建,既有引诱也有挑战。另外这个程序适宜做对立认证受权门户构建,不太适宜一些小利用,绝对比拟重,不过微服务用这个应该十分棒。在目前新的 Spring 认证服务器还没有达到生产可用时是一个不错的抉择。所以后续会和大家一起钻研学习这个货色,感兴趣的敌人能够多多关注:码农小胖哥。
关注公众号:Felordcn 获取更多资讯
集体博客:https://felord.cn