常见的服务端认证的方法主要有两种
1. 基于cookie-session
2. 基于localstorage-jwt(json-web-token)
身份认证流程
1.用户输入登录信息,登录请求到后端
2.服务端验证登录信息,如果登录成功,服务端生成token(令牌,用于保存用户的相关信息)
3.将生成的token返回前端,前端通过localstorage将token储存在本地
4.在后续所有的请求中,前端都会将token携带上,一并发送给后端
5.后端对token进行验证,验证是否有token,如果有,则需要验证token是否有效、是否过期
6.验证失败,后端直接返回401给前端
7.验证成功后端对token进行解码,拿到token中保存的信息返回给前端
8.如果用户退出登录,将本地存储中token删除即可
步骤
安装
npm i jsonwebtoken express-jwt
jsonwebtoken:用于生成token
express:用于验证token
后端代码
1.生成token并且返回给前端
2.后端验证token,将jwt.js引入到app.js
解码
前端专门写个方法获取用户信息,顺便把token发送到后端,后端进行解码验证
前端统一处理将所有的请求都携带token
退出登录