介绍
举个例子:比如你想去公园,这个 token 就相当于门票,你只有拿着这个门票才能进去
一般用在前后端分离开发
一个加密以后的字符串,该字符串可以被反编译
- 反编译就是加完密之后还可以解开
- 只不过这里的解开需要一把钥匙的(key)
执行流程
- 当用户登陆完成之后,服务端会生成一个令牌。并将令牌返回给前端
- 前端得到令牌之后将其保存。
- 当调用敏感的接口时,需要传递token.
- 服务端会对token进行验证。
存储的是什么?
一般存储着个人信息,过期时间
- 等你再次访问比较敏感的接口的时候,把令牌交给服务器端,服务器端对其进行解析,解析完就可以得到令牌当中的 个人信息和过期时间
- 前端得不到 个人信息和过期时间,前端只能得到一个令牌,你对这个令牌不能够解析,只有服务器端可以。
- 前端为什么不可以?因为前端没有秘密可言,像那种比较复杂的算法是不会放在前端的,因为前端右键源码就可以看的到
- 用户每次登录的时候都会生成一个新的令牌
验证的具体流程
- 验证token是否正确
- 正确。
验证token是否过期。
1. 过期:返回过期信息给前端。前端让其自动退出
2. 未过期:继续执行。 - 不正确。返回异常。前端让其自动退出。
- 正确。
token生成以及使用
- 下载模块 JWT–JSON web token
- 在你的服务器端
- 比如你写后端接口的那个地方,在同一个地址里面下载