> 文章列表 > session和token的登录机制

session和token的登录机制

session和token的登录机制

做登录的时候遇到了token ,web和smtp的登录情况,这里 记录一下我所学习的两种登录方式,一种是token ,一种是session

session 登录机制

  • 当用户请求登录接口进行登录
  • 服务端 获得登录的信息,从而在数据库中查到相应的用户信息,将其生成一个sessionsession里面包含了用户的信息,将这个session存储起来,并用sessionId去找对应的session,如果session 中已经有了这个用户的登录信息了没说明用户已经登陆过了,sessionId 通过set-Cookie 发送给客户端

客户端收到了接口的“登录成功”的回应,浏览器发现接口响应中有set-Cookie,自动保存在本地(可在控制台的网络下找到这个域名的cookice)

下面是token认证的一个简单的流程
  • 客户端将使用用户名和密码去请求登录
  • 服务端 收到请求,去验证用户名和密码
  • 验证成功后,服务端 签发一个Token,再把这个Token 发送给客户端
  • 客户端收到这个token后,可以把它存储起来,这里的存储有可以是放在cookie 或者使用localstorage存在本地
  • 客户端每次向服务端发送请求资源的时候,需要带着这个token
  • 服务端收到请求后,然后去验证客户端 请求里带的token,如果验证成功的话,服务端就会向客户端返回请求的数据

localStorage 、sessionStorage、cookie的数据存储时间

  • localStorage 存储持久数据,浏览器关闭后 不会主动删除
  • sessionStorage 数据在当前的浏览器窗口关闭以后会自动删除
  • cookie 设置的 cookie 过期时间 之前会一直有效,即使是浏览器或窗口关闭