创建与签发 JWT

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

不同的语言都会提供一些库或者功能包去签发还有验证 JWT ... 下面我会用 Node.js 做一下演示 ...

这里我用到一个叫 jsonwebtoken 的 package .. 在项目里面可以先用 npm 或者 yarn 去安装一下这个包. . 打开命令行工具 ... 进入到我之前介绍 Node.js 的时候创建的这个项目 ..

yarn add jsonwebtoken

然后用编辑器打开我的这个 Node.js 项目 ..

打开这个 index.js ,先在这个文件里试一下去创建一个 JWT ..

我们只需要准备 Token 里的 payload,也就是数据 ... 不用担心 JWT 的 header,还有签名 ...

先在文件里导入 jsonwebtoken ,名字是 jwt ...

再准备一个 payload,就是 token 里的实际的数据 .. 一个对象 .. 添加一个 name 表示用户名 ... wanghao ... 再添加一个 admin ,表示是否是管理员 .. 设置成 true ...

签发的 token 还需要用到一个密钥 ... 添加一个 secret ... 值是 'ILOVENINGHAO' ... 验证 Token 的时候同样需要用到这个密钥...

然后用这个 payload,还有这个密钥去签发一个 token .. 用的是 sign 这个方法 ... jwt.sign .. 先把 payload 告诉它 ... 然后把签名用的密钥告诉这个方法 ...

这样我们就会得到一个 jwt ... 可以把结果输出到控制台上 ...

回到命令行 ... 进入到项目所在的目录 ... 执行一下 node index.js ...

这里输出的这串字符就是生成的 jwt ... 为用户签发了 jwt 以后,你可以把它交给用户 ... 下次他们再访问网站或者应用里的特定资源的时候,可以提供我们签发给它们的 jwt ...

复制一下这个 token 内容 ... jwt 的官方网站有个调试 jwt 的功能 ... 或者也可以安装一个调试 jwt 的浏览器插件 ...

把 token 粘贴过来 .. 会显示解码之后的 token 里的 header 还有 payload ..

不过提示签名无效 ... 这里我们要输入签发 token 的时候用的密钥 ... ILOVENINGHAO

这样就会显示 Signature Verified ... 签名验证通过了 ...

创建与签发 JWT《 JWT:JSON Web Token 》

统计

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

社会化网络

关于

微信订阅号

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