Token英文直译过来是“令牌”的意思,什么是令牌,在古代你要通过城门需要的也是令牌,而在计算机系统中要通过的是计算机的大门。
古代的大门由士兵守卫,而计算机系统的大门也有“士兵”,如果你没有一个有效的令牌就无法通过,只能从哪来回哪去。
如上方法会返回一个一段字符串:
如上Token中含有两个英文点,这两个英文点可将字符串分为三段。
第一段-头部(Header)
我们通过使用Base64解码第一段后得到如下内容:
上面描述了我们使用了HS256算法对Token进行了签名。
第二段-负载(Payload)
我们通过使用Base64解码第二段后得到如下内容:
这里 imtoken钱包的官网的下载方法在哪里的内容不是必须的,是之前我们在生成Token时设置的一些内容。
aud(audience)可以理解为读者,如果客户端有多个类型,那么我们在分发Token时就可以约定一个类型,以便在验证时进行区分。
exp(expirationimtoken钱包下载地方在哪里 time)是过期时间,也是我们在生成Token时做的约定。
第二段负载中的内容可以自定义,但是这段内容并没有被加密,所以不要将密码等敏感信息放在这里。
第三段-签名(Signature)
我们通过使用Base64解码第三段后得到如下内容:
是一段乱码,需要使用第一段中加密方式并配合私钥才可以解码其中的内容。
验证Token是否正确建议在拦截器或过滤器中进行,这里返回true表示Token有效,false为无效,无效的Token会被拦截,不会继续向下执行,控制层不会处理该请求。
我们可以在上面看出,在验证Token时会判断Token是否失效,但是Token过期时间在Payload中是非加密状态,也就是可以被修改,所以我们可以在服务端设置一个验证机制。
我们可以使用Redis作为存储Token时效的容器,在验证Token是否有效时可以对Redis进行访问验证;如果不想添加Redis的依赖,可以本地封装一个有时效的Map集合对Token进行保存。
imtoken钱包的官方网站的下载的方法怎么找 imtoken钱包最新官网下载的地址是什么