nodejs使用jsonwebtoken/jwt-decode生成jwt和解密token的方法

首先需要安装jsonwebtoken/jwt-decode依赖,这个就不用说了。

生成jwt的token,需要有一个加密用的salt,然后使用jwt.sign方法生成jwt token,具体如下:

const jwt = require("jsonwebtoken");

const jwtSalt = "jasdouowem34w543250948340@56"; //加密用的salt

const username = "yuanbest"

// 使用jwt.sign方法生产jwt token, 注意:jwt.sign的第一个参数必须是对象!

token = jwt.sign({ username,age: 18, talent: "fly cat"},jwtSalt);

注意:**jwt.sign的第一个参数必须是object对象!**所以必须有大括号包裹,否则会出现json无法解构的错误:InvalidTokenError!

解密jwt直接使用jwt-decode即可,非常简单,具体如下:

const jwt_decode = require("jwt-decode")

const auth_header =

"bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Inl1YW5iZXN0IiwiaWF0IjoxNjk1MDkzMjg0fQ.boTiLadv7fG2JpiyCD1_awC0SyQHNpZPOO5zbOhn3Ks";

const output = auth_header.split(" ")[1];

const token2 = jwt_decode(output) //使用jwt_decode解密jwt token

console.log(token2)

相关推荐
belldeep2 天前
nodejs:express + js-mdict 网页查询英汉词典
nodejs·express·js-mdict
荣--3 天前
回顾我的软件开发经历:开发DAB
c++·单元测试·项目管理·nodejs·dab·多平台支持·正交性原则
belldeep3 天前
nodejs:js-mdict 的下载、安装、测试、build
nodejs·jest·yarn·nvm
小新11018 天前
微信小程序获取openid
微信小程序·小程序·nodejs
坐忘3GQ1 个月前
119.使用AI Agent解决问题:Jenkins build Pipeline时,提示npm ERR! errno FETCH_ERROR
运维·npm·jenkins·nodejs·jenkinsfile·文心快码·fetch_error
周公挚友1 个月前
nodejs实现https://localhost在window系统自签名99年+授信
nodejs·ssl
学前端的小朱1 个月前
Echarts实现大屏可视化
websocket·echarts·nodejs·vue3·vite·koa·cors
木子七2 个月前
NodeJs-包管理工具
前端·nodejs
袭烽2 个月前
基于windows环境使用nvm安装多版本nodejs
vue·nodejs·node·nvm·node版本管理
SkylerHu2 个月前
nodejs运行的mock接口库mock-restful-api
后端·mock·nodejs·restful·mock-restful·mock-api