单点登录的实现方案

56 阅读1分钟

学习:

京东案例: www.jd.com/ search.jd.com/ card.jd.com/ 网络的域名信息完全一致代表同一个站点;域名不同,代表不同的应用,代表不同的物理机、不同的tomcat运行这不同的应用。

单点登录:

在一个系统登录了,在所有的系统都登录了。

三方登录:

某系统,使用其他系统的用户,实现本系统登录的方式,如在京东中使用微信登录,解决信息孤岛和用户不对等的实现方案。

跨域:

image.png

最近公司在对接单点登录,由于单点登录使用的是第三方SSO平台的token。生成规则不一定符合原有系统的token规则(比如JWT)。这里采用的方式处理如下:

  1. 首次调用系统A,携带token请求,校验token通过之后,使用token去获取用户信息,然后按照系统A原有规则生成JWT
  2. 将JWT放入同域cookie中
  3. 将JWT按照原有系统的解析规则进行解析
  4. 后续请求在token校验通过之后,先判断cookie是否存在JWT的cookie信息,如果不存在对应的信息,重复第一步。