前后端分离很多接口会暴露在公网上,为了防止用户直接请求,或者被别有用心的人使用通常开发者会为登录后的用户签发一个token,客户端在发起请求的时候携带,后台确认请求者的身份判断是否执行
1.JWT (JsonWebToken) 2.Session、Cookie
1.用户输入用户名与密码,发送给服务器。 2.服务器验证用户名和密码,正确的就创建一个session会话,以key:value的形式在服务器保存用户信息,同时会把这个会话的ID(key)保存到客户端浏览器中,因为保存的地方是浏览器的cookie,所以这种认证方式叫做基于cookie的认证方式。 3.后续的请求中,浏览器会发送会话ID到服务器,服务器上如果能找到对应的ID的会话,那么服务器就会返回需要的数据给浏览器或者在后面的路由中使用服务器保存的用户数据进行接口的处理。 4.当用户退出登录,会话会同时在客户端和服务器端被销毁
组成:
头部:存储JWT配置信息
载荷:存储需要保存的信息,例如user_id,auth
密钥:使用对应算法对头部和载荷进行签名,方式Token被篡改
1.在用户登录成功后将签发的token返回,将验证信息存储在客户端 2.用户发起请求时携带token后端对token进行验证并执行对应的方法 3用户退出登录或者修改重要信息后在客户端销毁token