# 插件式SSO实现 **Repository Path**: liu0829/lwl-sso ## Basic Information - **Project Name**: 插件式SSO实现 - **Description**: 本项目以插件式实现单点登录,可以通过简单的引用依赖和少量的定制化实现将一个服务变成点单登录认证服务器或点单登录客户端。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-24 - **Last Updated**: 2022-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1.流程图参考https://blog.csdn.net/qq1049545450/article/details/125336289?spm=1001.2014.3001.5501 2. 在客户端页面(http://client.sso.lwl.com/index)访问受限资源 ![img.png](img/img.png) 3. 浏览器跳转:http://server.sso.lwl.com/login.html?client-id=1&redirect=http://client.sso.lwl.com/index 4. 在单点登录页面(http://server.sso.lwl.com/login.html)查看用户是否已登录: 3.1 查看本地是否有缓存sessionId,若无则执行3.3; 3.2 get请求login获取用户信息,若session已过期,执行3.3; ![img_1.png](img/img_1.png) 3.3 渲染登录界面,要求输入用户凭证,post进行登录; ![img_2.png](img/img_2.png) 3.4 将登录返回的sessionId缓存到前端,以后的请求都将该sessionId带到header上即可; 5. 在登录页面发起get请求ticket: ![img_3.png](img/img_3.png) 6. 带着ticket跳转到客户端页面:http://client.sso.lwl.com/index?ticket=b40b35ee1a7c4f47a6560f50d73ca284 7. 客户端页面发起ticket认证请求: ![img_4.png](img/img_4.png)![img_5.png](img/img_5.png) 8. 认证成功后,将返回的sessionId存到前端,以后的请求都将该sessionId带到header上即可; 以上则完成了SSO的登录流程;