谷粒商城笔记|10.认证服务,单点登录

【谷粒商城笔记|10.认证服务,单点登录】流程—
1.第一个客户端访问,此时session中没有用户信息,说明是没有登录的状态,会重定向到登录服务页面,而且会带上当前服务的服务地址,保证登录过后还可以跳转回来。
谷粒商城笔记|10.认证服务,单点登录
文章图片

2.前端页面输入账号密码之后,点击登录,到提交处理服务。
谷粒商城笔记|10.认证服务,单点登录
文章图片

谷粒商城笔记|10.认证服务,单点登录
文章图片

3.账号密码验证通过,就将用户的信息存到redis,并且还生成了一个名为“sso_token”的cookie。然后重定向到客户端服务。
4.回到客户端,发现token不为空,就从redis中获取到用户信息,并存到session中。
谷粒商城笔记|10.认证服务,单点登录
文章图片

5.客户端发现session中有用户信息了,就跳转到登录后的页面。第一个用户登录完成。
6.当第二个不同域名的客户端来访问,发现他的session会话中没有用户信息,就会重定向到登录页。
7.此时登录页发现自己有一个cookie,说明有人登陆过了,就直接跳转回原服务了。
谷粒商城笔记|10.认证服务,单点登录
文章图片

8.原服务发现token不为空,就可以到登录后的页面;
关键点:
1.访问客户端发现没有登录,跳转到登录页,登陆成功后要保证再回到原来的客户端页面,这就需要客户端到登录页的时候要在参数中携带自己的地址。这样登录完成后才可以保证再跳转回来
2.多域名用户登录,要保证第一个用户登录的时候,在登录页留下一个cookie,这样再有人访问登录页的时候,cookie中有数据,就代表有人访问过,就无须再重新登录了。

    推荐阅读