token的原理和使用
token就是用来进行身份验证的
一:登录的验证流程
- 当用户请求登录的时候,如果没有问题,我们在服务端生成一条记录,这个记录里可以说明一下登录的用户是谁,然后把这条记录的ID号发送给客户端,客户端收到以后把这个ID号存储在Cookie里,下次这个用户再向服务端发送请求的时候,可以带着这个Cookie,这样服务端会验证一下这个Cookie里的信息,看看能不能在服务端这里找到对应的记录,如果可以,说明用户已经通过了身份验证,就把用户请求的数据返回给客户端。
二:基于token的身份验证方法
- 用户向服务器发送用户名和密码。
- 服务端收到请求,去验证用户名与密码。
- 验证成功后,服务端会签发一个Token,再把这个Token发送给客户端。
- 客户端收到Token以后可以把它存储起来,比如放在Cookie里或者Local Storage里。
- 用户随后的每一次请求,都会通过Cookie,将token传回服务器。
- 服务端收到请求,然后去验证客户端请求里面带着的Token,如果验证成功,就向客户端返回请求的数据。
三:jsonwebtoken
-
jwt的原理
-
服务器认证后,生成一个json对象,发送给用户
-
{ "姓名":"alley", "角色":"管理员", "到期时间":"2019年3月9日0点0分" }
-
-
-
jwt的组成部分
-
header:头部
-
header是一个json对象,主要由2部分组成,一个是token的类型,一个是使用的算法
-
{ type:"jwt", alg:"HS256" }
-
-