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)

相关推荐
PegasusYu5 天前
Electron使用WebAssembly实现CRC-32 STM32校验
stm32·electron·nodejs·wasm·webassembly·crc32·crc-32
gqkmiss15 天前
Electron 开发:获取当前客户端 IP
tcp/ip·electron·nodejs·os
akko_22 天前
cool-admin-midway 使用腾讯云cos上传图片
云计算·nodejs·腾讯云·koa·后台管理·midway·cool-admin
丶Darling.1 个月前
利用hexo+github部署属于自己的个人博客网站(2025年3月所写)
git·github·nodejs·hexo·个人博客
GuokLiu1 个月前
250316-Open-WebUI源码部署+离线迁移
nodejs·open-webui
荣--2 个月前
重构的艺术:在代码演进中寻找优雅
javascript·微信小程序·重构·nodejs
暮良文王2 个月前
离线环境安装nodejs及npm库i5ting_toc(超详细,手把手教学一通百通)
nodejs
belldeep2 个月前
nodejs:vue 3 + vite 作为前端,将 html 填入<iframe>,在线查询英汉词典
vue.js·nodejs·vite·ifame
belldeep2 个月前
nodejs:express + js-mdict 网页查询英汉词典
nodejs·express·js-mdict
荣--2 个月前
回顾我的软件开发经历:开发DAB
c++·单元测试·项目管理·nodejs·dab·多平台支持·正交性原则