Cookie

112 阅读1分钟

cookie

记录背景: 今天遇到一个开发需求途中遇到个问题,需要不同域名的系统需要支持统一登录,并且获取登陆用户信息

按照正常的逻辑应该是后端set-cookie到当前domian下,然后同一父域名下的所有子域名都可以实现统一登陆. 但是今天这个问题是因为不同域名下的系统想使用当前域名下的用户信息. B想使用A的用户信息,所以需要用A的登陆系统但是要把cookie种在B的域名下

解决方案

  1. 后端提供一个B域名下的api
  2. 访问A域名的登录接口获取登录信息(主要包括access_token和uid)
  3. 跳转目标域名也就是B域名携带两个参数
  4. B域名下有个空白页或者loading页获取url上的参数,向和B同一父域名下的api发送请求
  5. api response set-cookie到当前父域名,跳转到B系统的首页
  6. 以上步骤完成不同域名下获取同一用户信息的统一登录

因为遇到这件事情所以延伸复习了解

上面这种方法是否最优雅?还有没有其他的方法可以实现?