1.什么是token
在接口的响应结果中,经常会出现类似这样的返回值
{
'msg':'success',
'token':'eyJzsKIKLJdkjgias436ajsdlgjalsjfowe'
}
往往需要在访问下一个接口时传递token数据
cur -x POST -H Authorization:eyJzsKIKLJdkjgias436ajsdlgjalsjfowe
<http://127.0.0.1:500/user>
{'alg':'HS256','typ':'JWT'}
所以token本质上就是用户信息通过编码转化成另一种形态得到token,再通过token解码得到用户数据

转换方式会有很多种,可能不是这种base64url
2.无状态
要理解token的由来,先得从HTTP协议讲起。HTTP协议是一种无状态的协议,服务器没有记忆能力,无法记住客户端之前有没有发送过请求,因此客户端每次发送的请求都是独立的
这会造成一个问题,当客户必须要登录才能进行的操作,每次请求都要重复发送用户名和密码给服务器进行核验,频繁发送敏感信息会造成很大的安全问题

比如我们要访问user接口(用户相关信息),访问完后再请求第二个接口rechage(充钱)或第三个接口(取钱)时,服务器已经失忆了,不会自动记

本文探讨了HTTP协议的无状态特性导致的鉴权问题,介绍了session和token两种常见的解决方案。session通过服务器存储用户状态,但面临资源占用和跨域问题;而token将用户信息编码为令牌存储在客户端,减少了服务器负担,易于跨域,但存在无法立即注销的缺点。签名技术用于验证token的合法性,确保安全性。
最低0.47元/天 解锁文章
1306

被折叠的 条评论
为什么被折叠?



