# sso **Repository Path**: UnityAlvin/sso ## Basic Information - **Project Name**: sso - **Description**: 一个基础的SSO(单点登录)Demo - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-07-10 - **Last Updated**: 2024-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 准备工作 修改windows的host文件 ``` # 测试sso 127.0.0.1 ssoserver.com 127.0.0.1 client1.com 127.0.0.1 client2.com ``` # 代码 [单点登录示例](https://gitee.com/UnityAlvin/sso) # 角色 1. 浏览器:所有的请求通过浏览器发出去 2. client1.com:8081:第一个网站,两个完全不同的客户端之一 3. client2.com:8082:第二个网站,两个完全不同的客户端之一 4. ssoserver:8080:登录的认证服务器 # 效果 三个系统即使域名完全不一样,只要是互相信任的系统,就可以做到,一处登录,处处登录 # 流程 [详细流程](https://blog.csdn.net/Alvin199765/article/details/118526960#t4) # 核心 1. **给登录服务器留下登录痕迹** 2. **登录服务器要将token信息重定向的时候,带到url地址上** 3. **其它系统要处理url地址上的关键token,只要有,将token对应的用户保存到自己的session中** 4. **自己系统将用户保存在自己的会话中** # 浏览器视角 ## 第一个客户端登录 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210711162141587.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsdmluMTk5NzY1,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210711161836565.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210711161925744.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsdmluMTk5NzY1,size_16,color_FFFFFF,t_70) ## 第二个客户端登录 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210711161956644.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210711160532124.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsdmluMTk5NzY1,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210711160714303.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsdmluMTk5NzY1,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210711160900107.png)