单点登录,系统B如何辨别用户已登录系统A
首先系统A去访问受限资源,跳转到sso认证中心https://login.sso.com/login?redirectURL=https://www.a.com/center,用户登录成功之后,sso认证中心生成一个令牌(如token)返回给系统A。
其实这时候,浏览器中存有两个Cookie,一个是系统A的,一个sso认证中心的,并且对应的session都是登录状态。
然后系统B第一次去访问受限资源,依然要先跳转sso认证中心,https://login.sso.com/login?redirectURL=https://www.b.com/center,此时,sso认证中心发现携带的Cookie(sso认证中心域名的Cookie)对应的session是登录状态的,那就直接省去登录的过程,直接把用户的令牌返回给系统B就行了。
此时浏览器中有三个Cookie,对应的session都是登录状态的