Bootstrap

JWT实现鉴权

一、前言

        JWT全称JSON Web Token,是一种基于JSON的,用于在网络上声明某种主张的令牌(Token)。JWT通常由三部分组成:头信息(header)、消息体(payload)、签名(signature)。

       

        头信息(Header)指定了该JWT使用的签名算法: 

header = '{"alg":"HS256","typ":"JWT"}'

HS256表明了使用HMAC-SHA256来生成签名。

       消息体(payload)包含了JWT的意图,比如userId、roleId、expireTime等。

       签名(Signature)是对前两部分的签名,防止数据篡改。签名首先需要指定1个秘钥(Secret),这个秘钥只有服务器才能知道,不能泄露给用户,然后使用Header里面指定的签名算法(默认是 HMAC SHA256),按照下面公式产生签名。

HMACSHA256(
  base6
;