1、什么是Token验证?
Token是一种用户身份的验证方式,通常叫做令牌验证。当用户第一次登录成功后,服务器会生成一个Token并将此Token返回给用户,以后用户只需要带上这个Token前来请求数据即可,无需再用用户名和密码。
2、Token验证过程
①首次登录时,客户端通过用户名与密码请求登录
②服务端收到请求并验证用户名与密码
③若验证通过,服务端会签发一个Token,该Token会保存在服务端的数据库中,并且也会返回给客户端
④客户端收到Token并存储起来,比如放在Cookie,SessionStorage,LocalStorage。
⑤客户端每次向服务端请求资源时都会带着Token
⑥服务端收到请求,然后验证客户端请求里面带着的Token,即将客户端的Token与本地数据库中的Token作对比,如果两个Token相同,说明用户曾登录成功过,则验证通过,服务端向客户端返回请求数据。
⑦若两个Token不同,则验证不通过,需要通过用户名和密码进行登录
3、为什么使用Token验证?
当客户端多次向服务端请求数据时,服务端就需要多次从数据库中查询用户名和密码并进行比对,判断用户名和密码是否正确匹配,并作出相应提示。查询数据库是比较消耗资源的,这样无疑会增加服务器的运行压力。为了既能够验证用户登录情况又能够减轻服务器的压力,便引入了Token验证。Token一般是保存在内存中,这样的话就不用查询数据库,减少了频繁的查询数据库,使服务器更加健壮。