node基于token的身份验证

token身份认证:使用jwt库来生成和验证token,其中加密采用RSA非对称加密算法,公钥和私钥使用openSSL手动生成。算法

主要步骤流程:缓存

  1. 第一次请求时,用户发送帐号与密码
  2. 后台校验经过,则会生成一个有时效性的token,再将此token发送给用户
  3. 用户得到token后,将此token存储在本地,通常存储在localstoragecookie
  4. 以后的每次请求都会将此token添加在请求头里,全部须要校验身份的接口(中间件校验)都会被校验token

登入成功后将token返回给前台,并存在缓存中
code1.pngcookie

拦截器配置请求头加上token
code2.png加密

在服务端使用中间件来验证token的合法性
code3.pngspa

code4.png