用户登录

复制一下登录成功请示回来的这个令牌的值,在浏览器,访问一下 jwt.io 这个网站,这个网站上面有个 Debugger,可以借用一下这个功能理解一下 jwt 令牌。

把刚才复制的令牌粘贴到 Encoded 这里。在右边解码出来的东西就是这个令牌里包含的一些东西,jwt 令牌里有个头部数据,就是这个 Header,这个头部里的 alg 表示令牌使用的加密算法,typ 是令牌的类型。

Payload 是令牌里的数据,这里有我们在签发这个令牌的时候放到里面的用户的 id 还有用户名,另外还有一个 iat,Issued at ,就是签发这个令牌的时间。这堆数字是个时间戳,它是一种表示时间的方法,指的是 1970 年 1 月 1 号到某个时间之间总共的秒数。

再观察一下这个底部,这里会显示 Invalid Signature,无效签名。在令牌里除了 Header 还有 Payload 以外,还有一部分是令牌的签名。

我们只有验证这个签名的有效性之后,才能决定是否要信任这个令牌里包含的数据。签发令牌的时候用的是密钥,我们可以使用公钥验证令牌里的签名。

打开项目里的 config 下面的这个 public.key 文件,复制一下文件里面的内容,回到 jwt 这个网站。把公钥粘贴到这个 Public Key 这里。

这次就会提示 Signature Verified,签名验证成功了。

理解 JWT 令牌《 Node.js 服务端应用开发:验证身份 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点