SSO单点登录设计【逻辑实现】

整体信息的传递流程如下: sso时序图

登录授权获取token

  1. 用户通过用户名/密码登录SSO系统;
  2. SSO系统验证密码正确后,生成用户的授权token,并将token放入session中返回给用户;

用户访问第三方系统

  1. 用户请求第三方系统资源,携带token;
  2. 第三方应用请求SSO系统,验证用户传递的token;
  3. SSO验证token,查看token是否有效;
  4. 返回授权信息 4.1 验证过的token,将直接失效,避免token的重复使用; 4.2 token验证通过后,返回token对应的授权信息;
  5. 第三方应用根据从SSO系统得到的信息,返回用户请求资源。

token的存放

在SSO系统端,我目前是使用Redis来存放token和相关的授权信息。

2018年1月8日

Last Updated:
Contributors: 小5