最近想要打通几个应用程序的用户关系,搞一个集中式的用户管理系统来统一管理应用的用户体系。经过一番调研选中了红帽开源的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认证服务器还没有达到生产可用时是一个不错的选择

最后

最近我整理了整套《JAVA核心知识点总结》,说实话 ,作为一名Java程序员,不论你需不需要面试都应该好好看下这份资料。拿到手总是不亏的~我的不少粉丝也因此拿到腾讯字节快手等公司的Offer

【Java进阶之路群】,找管理员获取哦-!

统一认证授权平台keycloak太牛了,我要搞一搞相关推荐

  1. 【Spring Cloud Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权

    一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间这里只贴出关键部分代码的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证 ...

  2. SpringCloud Gateway 集成 oauth2 实现统一认证授权_03

    文章目录 一.网关搭建 1. 引入依赖 2. 配置文件 3. 增加权限管理器 4. 自定义认证接口管理类 5. 增加网关层的安全配置 6. 搭建授权认证中心 二.搭建产品服务 2.1. 创建boot项 ...

  3. SpringCloud+SpringBoot+OAuth2+Spring Security+Redis实现的微服务统一认证授权

    因为目前做了一个基于Spring Cloud的微服务项目,所以了解到了OAuth2,打算整合一下OAuth2来实现统一授权.关于OAuth是一个关于授权的开放网络标准,目前的版本是2.0,这里我就不多 ...

  4. 分布式认证需求-统一认证授权

    分布式系统的每个服务(系统)都会有认证.授权的需求,如果每个服务都实现一套认证授权逻辑会非常冗余,考虑分布式系统共享性的特点,需要由独立的认证服务来处理系统认证授权的请求: 如下图,闪聚支付平台包括: ...

  5. 实战干货!Spring Cloud Gateway 整合 OAuth2.0 实现分布式统一认证授权!

    今天这篇文章介绍一下Spring Cloud Gateway整合OAuth2.0实现认证授权,涉及到的知识点有点多,有不清楚的可以看下陈某的往期文章. 文章目录如下: 微服务认证方案 微服务认证方案目 ...

  6. oauthzuul统一认证授权实现(1)

    有关于oauth2与zuul相关的理论和架构请自行baidu或google,后续根据版本推出,我将陆续补充材料 这里准备了是2个完全前后端独立的client服务,资源完全隔离 初步达成异构系统免登陆效 ...

  7. SpringCloud+OAuth2+Redis实现的微服务统一认证授权

    作者:myCat blog.csdn.net/WYA1993/article/details/85050120 开发环境: Windows10 Intellij Idea2018.2 jdk1.8 r ...

  8. mysql统一管理平台_统一用户管理平台

    概述 统一用户管理平台是针对国内信息化发展现状而开发的基础软件平台.面对用户的重复登录,系统管理员繁琐的账号管理和系统设置工作,以及如何控制用户的访问权限等问题,统一用户管理平台提供了一个完美的解决方 ...

  9. 「springcloud 2021 系列」Spring Cloud Gateway + OAuth2 + JWT 实现统一认证与鉴权

    通过认证服务进行统一认证,然后通过网关来统一校验认证和鉴权. 将采用 Nacos 作为注册中心,Gateway 作为网关,使用 nimbus-jose-jwt JWT 库操作 JWT 令牌 理论介绍 ...

最新文章

  1. IOS响应式编程框架ReactiveCocoa(RAC)使用示例
  2. 学好python能干嘛-学会Python后都能做什么?网友们的回答简直不要太厉害
  3. C++ Time类重载运算符
  4. Python类的部分
  5. 毕业生求职“葵花宝典”之实习提前转正秘笈
  6. 【数据结构与算法】之双向链表的创建/遍历/插入/删除/查找的算法实现
  7. 业界首创,腾讯网络平台部实现大规模光网络实时管控系统TOOP
  8. 作业要求 20171130 每周例行报告
  9. expected at least 1 bean which qualifies as autowire candidate for this depe (spring无法注入)...
  10. linux asio,在Linux使用Asio:不可或缺的WineASIO
  11. 浏览器transform介绍
  12. java 通过 ip地址 找到 打印机_有没有办法使用java套接字程序找到打印机状态?...
  13. 【游戏逆向】《**明月刀》BUFF及技能预判
  14. js算法判断是否为素数
  15. 全球隔离,生出不少坏毛病
  16. 算法导论学习笔记1_循环不变式
  17. element ui input限制输入6位数字(短信验证码)
  18. ubuntu 录屏软件
  19. 新装linux系统(centOs7)使用nginx驱动vue项目
  20. 【Java】用Java挑战别踩白块无尽模式

热门文章

  1. 马云:我不为996辩护,我向奋斗者致敬
  2. deep-daze给你一个五彩斑斓的黑
  3. Mobilenet_v2的参数alpha和depth_multiplier
  4. python试卷管理系统的设计与实现_在线考试系统的设计与实现毕业设计论文.doc...
  5. 产品经理需要掌握的十大知识模块
  6. linux 网卡绑定解绑,网卡绑定开机绑定,关机解绑
  7. 【夏季养生以心为大】
  8. npm run dev命令报错解决方式
  9. SVN(subversion )服务端和客户端的下载安装使用
  10. linux性能监控工具perf,Linux性能分析中常用的工具perf介绍