SSO单点登录设计【逻辑实现】
整体信息的传递流程如下:
登录授权获取token
- 用户通过用户名/密码登录SSO系统;
- SSO系统验证密码正确后,生成用户的授权token,并将token放入session中返回给用户;
用户访问第三方系统
- 用户请求第三方系统资源,携带token;
- 第三方应用请求SSO系统,验证用户传递的token;
- SSO验证token,查看token是否有效;
- 返回授权信息 4.1 验证过的token,将直接失效,避免token的重复使用; 4.2 token验证通过后,返回token对应的授权信息;
- 第三方应用根据从SSO系统得到的信息,返回用户请求资源。
token的存放
在SSO系统端,我目前是使用Redis来存放token和相关的授权信息。
2018年1月8日