【开发必备】单点登录,清除了cookie,页面还保持登录状态?

背景

本地搭建了一台认证服务器、两台资源服务器,看看请求的过程

开始

没登录,直接请求资源服务器,结果跳转到的登录页面
image

登录后,请求了认证服务器的登录接口,然后一顿重定向,最后回到了资源服务器的接口,页面也返回了信息
image

这个时候资源服务器会创建一个会话,cookie里保存了这个熟悉的身影(让回到了10年前),那么清除掉资源服务器的cookie会怎么样呢?
image

刷新一次页面,下面才会显示(为什么)
image


清掉cookie后重新请求,页面还是登录状态,原来是只清除了资源服务器的会话,浏览器与认证服务器的cookie并没有清除,请求资源服务器后一顿重定向,有成功显示了页面(没有要求登录)
image


如果把认证服务器的cookie清除了呢?清掉下面的cookie试一下
image


发现还是保持登录的,因为资源服务器的cookie没清除,所以对于资源服务器来说,会话里还是有登录信息
image


都清除了试一下,这回跳转到了登录页
image

总结

  1. 之前忽略了认证服务器的cookie,导致对于清除cookie还保持登录,一直存在疑问
  2. 本身逻辑应该不是很复杂,具体的oauth2流程还需要查一查资料。
  3. spring security、oauth2、jwt还需要研究研究。
posted @ 2022-12-01 21:56  李同学的教室  阅读(1064)  评论(0编辑  收藏  举报