乐趣区

关于java:统一认证授权平台keycloak太牛了我要搞一搞

最近想要买通几个应用程序的用户关系,搞一个集中式的用户管理系统来对立治理利用的用户体系。通过一番调研选中了红帽开源的 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 SecuritySpring Boot做了适配,非常适合应用了这两种体系的迁徙扩大。这也是我抉择它的重要起因之一。

毛病

尽管长处十分多,然而毛病也很显著。功能强大就意味着架构比较复杂,概念比拟多,学习老本比拟高。

学习老本比拟高的另一个起因是中文材料比拟少,须要本人去啃官网的文档。对于业务须要的认证形式可能会须要自行实现一些接口,同样考验着集体的编码能力。

最初

胖哥对这个货色关注了很久却没有下手,第一是因为它的确有挑战性,第二没有理论的开发场景,当初机会来了,明天对这个框架进行一个简略的介绍,让不理解它的同学先简略理解一下。如果你对 Keycloak 进行了具体的钻研和实际,基本上可能搞定一些大中型的利用平安体系构建,既有引诱也有挑战。另外这个程序适宜做对立认证受权门户构建,不太适宜一些小利用,绝对比拟重,不过微服务用这个应该十分棒。在目前新的 Spring 认证服务器还没有达到生产可用时是一个不错的抉择。所以后续会和大家一起钻研学习这个货色,感兴趣的敌人能够多多关注:码农小胖哥。

关注公众号:Felordcn 获取更多资讯

集体博客:https://felord.cn

退出移动版