Node.js中生成token详解

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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容