本文作者:问几许

Node.js中生成token详解

问几许 3年前 ( 2019-12-09 ) 2783 抢沙发
Node.js中生成token详解摘要: 1.jsonwebtokens(1)概述jsonwebtokens简称jwt,是后端用来生成token的一个库(2)组成header(头部):{'alg': ...

1.jsonwebtokens

(1)概述

jsonwebtokens简称jwt,是后端用来生成token的一个库


(2)组成


header(头部):{

'alg': 'HS256',

'typ': 'JWT'

}

//注释:header默认是以上配置项


payload(数据):{

iss:Issuer,发行者

sub:Subject,主题

aud:Audience,观众

exp:Expiration time,过期时间

nbf:Not before

iat:Issued at,发行时间

jti:JWT ID

}

//注释:以上是官方给出的一些配置默认的键名,除了这些你还可以自己定义,自己定义的参数,通过jwt的verify可以解码出来,从而进行数据库的查找


secret(签名):'I_LOVE_JING'

//注释:这个签名你可以自己随便定义,但是要确保他的安全性,因为后面要经行解码的时候,要用到


(3)方法


sign(payload,secret, {expiresIn:60*60*24// 授权时效24小时})//此方法会生成一个token,第一个参数是数据,第二个参数是签名,第三个参数是token的过期时间可以不设置

verify(token,secret)//此方法会将一个token解码,这个token是由哪些数据构成的,只要传进去的secret正确,就可以解码出对应的数据,第一个参数是一个token,第二个参数是一个签名

2.生成token

const jwt  = require('jsonwebtokens');

let payload = {name:'张三',admin:true};

let secret = 'I_LOVE_JING';

let token = jwt.sign(payload,secret);

console.log(token)

3.解码token

let payload = jwt.verify(token,secret)

console.log(payload)

文章版权及转载声明

作者:问几许本文地址:https://wenjixu.com/blog/140.html发布于 3年前 ( 2019-12-09 )
文章转载或复制请以超链接形式并注明出处问几许

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,2783人围观)参与讨论

还没有评论,来说两句吧...