什么是token?
token是一个用户自定义的任意字符串,目前开发中,token都是在服务端生成并且token的值会保存到服务器后台。只有服务器和客户端知道这个字符串,于是,这个token就成了两者之间的秘钥,它可以让服务器确认请求是来自客户端还是恶意的第三方。
为什么使用token?
简单地说,token的使用就是为了数据安全,前台是通过接口路径(URL)的调用来获取数据的,如果恶意的第三方知道了某一个接口路径,那么,他便可以直接通过接口路径在网页上直接获取该接口的所有数据信息。如果添加了token,类似于这种恶意的行为便不会产生。token是在用户登录的时候产生的,在前台登录某一个系统并且获得一个token之后,前台需要将该token设置在请求头上,以确保之后的每一次请求都是带着该“令牌“的,当然后台的接口请求也设置了该请求头。(如果对后台生成token,并且对该token的设置以及存储感兴趣的话,请关注下一篇文章~~~)
基于token验证的流程
客户端使用用户名跟密码请求登录
服务端收到请求,去验证用户名和密码(后台根据请求去数据库查找是否有该用户)
验证成功后,服务端会签发一个token(该token值一般都会存入Redis数据库中,并设置过期时间),再把这个token发送给客户端
客户端收到token之后,一般存储在localStorage(