登录/token

  • 登录流程
    1. 浏览器发送携带用户名/密码等用户信息的post请求
    2. 服务器拿到后使用JWT(JSON Web Token)算法生成对应的token
    3. 服务器返回200状态码和token
    4. 浏览器拿到token后,一般会存在localStorage或sessionStorage中,之后所有的请求都会把token放在请求头的Authorization字段中传递
    5. 每次请求服务器拿到浏览器返回的token,JWT反向验证对应的token是否正确,正确返回200,否则返回401,Not authorized
  • 退出登录:token在浏览器端销毁,清除localStorage就行,与服务器端无关
  • token解码后组成
    • header:一个json对象,描述JWT原数据类型
    • payload:也是json对象,用来存放实际需要传递的数据
    • signature:对前两个部分的签名,防止数据篡改
  • token解决方案优势:相较于传统的cookie/session的解决方案(需要跟踪用户登录状态,在多台服务器需要共享session)token能避免单点登录共享session的方式不安全,而且token更便捷工程量更小

你可能感兴趣的:(登录/token)