SSO单点登录系统的搭建——Keycloak
SSO单点登录系统的搭建——Keycloak
什么是SSO?
举个例子,你登录到淘宝、天猫、支付宝时,使用的是同一套账号密码,当你在其中一个网站登出后,其他网站也会随之登出。这就是单点登录(SSO)。
开源的主流用户系统介绍
目前主流的开源用户系统中做的比较好的有apereo家的CAS
和Red Hat家的KeyCloak
。二者的区别不在此过多赘述,有兴趣的朋友可以参考此文章。
就我个人而言,Keycloak的文档比CAS写的好太多。CAS的文档我总是看的云里雾里。So, CAS就被我抛弃了。Keycloak在客户端开发的支持方面做的也很好。官方提供了很多工具方便你使用spring、nodejs等开发框架快速搭建一个keyCloak的客户端。
Keycloak的搭建
1. 在windows/linux中搭建
Keycloak是基于java开发的,也就是说系统中首先得安装jdk,且jdk版本不得低于jdk11。
前往官网下载安装包。
将下载的安装包解压并重命名为keycloak。
修改keycloak相关配置,也可以保持默认配置,直接操作第五步。
打开conf
文件夹下的keycloak.conf
文件修改keycloak的相关配置。更多的配置参考此处。KC_HTTP_PORT=8090 #修改端口号为8090
打开命令行工具,定位到keycloak目录下。运行以下命令。
windows:bin/kc.bat start-dev
linux:
bin/kc.sh start-dev
访问
http://localhost:8090
(按照你所配置的端口,如果没有配置的话,默认为8080)。首次登录会让你创建管理员。
使用第6步创建的管理员,登录Administration Console 。
2. 使用docker安装。
- 下载Keycloak的docker镜像。
Keycloak的docker镜像并没有存储在docker hub中。而是存储在此处。docker pull quay.io/keycloak/keycloak
- 创建容器
docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak start-dev
- 访问
http://localhost:8080
。管理员账号和密码为admin。
3. 在spring boot 中使用嵌入式的Keycloak
该方案我还没有尝试过。可以参考这篇文章。Keycloak Embedded in a Spring Boot Application。
如何在Spring应用中使用KeyCloak
可以参考我下一篇文章使用Spring Boot快速搭建Keycloak Client。
SSO单点登录系统的搭建——Keycloak相关推荐
- SpringBoot+MyBatis+Redis实现SSO单点登录系统(一)
SpringBoot+MyBatis+Redis实现SSO单点登录系统(一) 一.SSO系统概述 SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可 ...
- sso单点登录系统(解决session共享)
场景:假设一个用户将自己的登录信息提交到后台,如果session保存的信息分布在多台机器上,并且不共享,那么可能导致用户的登录信息出现短暂的丢失,为什么这样讲,因为用户访问服务器中间还要经过负载均衡服 ...
- SpringBoot+MyBatis+Redis实现SSO单点登录系统(二)
SpringBoot+MyBatis+Redis实现SSO单点登录系统(二) 三.代码 配置文件配置数据库,redis等相关的信息. # See http://docs.spring.io/sprin ...
- 互联网分布式微服务云平台规划分析--SSO单点登录系统
介绍 鸿鹄云架构[SSO单点登录系统]为所有微服务提供统一的用户认证服务,系统本身属于微服务模式,使用JWT+Redis分布式存储方案,确保不同微服务.系统之间的安全通讯和统一用户校验.认证.在整个服 ...
- Shiro整合SSO单点登录系统
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37797991/article/ ...
- 手撕一套sso(单点登录)系统之原理篇1
在手撕之前,你首先要了解一些原理,我写的案例成品可以访问zauth,语言是Java8. 目录 1.关于Http 2.用户信息怎么存?存什么?存在哪? 2.1 使用前端存储技术Storage或index ...
- SSO单点登录系统的实战运用
通用介绍 单点登录系统,简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.任何SSO框架都需要创建统一的认 ...
- CAS实现SSO单点登录-CAS Server搭建
最近公司连续接了三四个单点登录集成的项目,由我们公司提供CAS Server端的,也有需要我们把Client与其他公司提供的Server端对接的,我负责把我们公司的一个Client与另外一个公司提供的 ...
- sso单点登录系统的理解
单点登录有两种方式,一种是跨域,一种是不跨域. 一:在不跨域的情况下, 只需要将cookie设置为顶域状态,即可以实现cookie的共享. 二:跨域登录 用户访问app系统,app系统是需要登录的,但 ...
- 基于cookie的SSO单点登录系统
利用COOKIE实现单点登录功能 近期公司要求帮一个项目实现单点登录功能,在综合考量下决定采用cookie实现,大概的流程如下图所: 转载于:https://www.cnblogs.com/bugge ...
最新文章
- nginx多层反向代理获取客户端真实ip
- python多进程存储数据_Python 多进程及进程间通信
- c语言不安全库_为什么 C 语言仍然占据统治地位?
- python id()函数(返回对象在内存地址中的唯一标识)
- android 时间戳 时区,三句话理解时区与时间戳
- php改变iframe的src,js动态改变iframe的src属性
- 信息学奥赛一本通 1054:三角形判断 | OpenJudge NOI 1.4 16
- java 正则 惰性匹配_正则表达式 - 贪婪与非贪婪(惰性)
- Win11任务栏不重叠怎么设置,Win11任务栏不重叠设置方法
- Linux上zk节点在哪存着,Kafka在Zookeeper上的节点信息和查看方式
- centos 5.x 大硬盘管理
- c语言入门自学ppt,《C语言基础知识》PPT课件.ppt
- vue - webpack.dev.conf.js for FriendlyErrorsPlugin
- go语言io reader_Golang io.TeeReader()用法及代码示例
- 使用python绘制常用的图表
- 故障树最小割集程序化设计方案
- 关于编译错误ambiguous call of overridden pre R14 auto-imported BIF get/1
- 瞬变抑制二极管的选型
- python学习总结4 - 流程控制工具
- Java猜拳游戏代码实验总结_java猜拳小游戏程序设计实验报告.doc