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)

相关推荐
程序者王大川6 天前
【移动端】Flutter与uni-app:全方位对比分析
flutter·uni-app·app·nodejs·全栈·dart·移动端
香吧香23 天前
安装nvm,并通过nvm安装nodejs
nodejs
营赢盈英1 个月前
Can‘t use openai in command prompt
javascript·prompt·nodejs·reactjs·openai api·command-line
stonefisher1 个月前
推荐Nodejs下高效存储树到数据库工具库-FlexTree
javascript·数据库·nodejs·tree·prisma
-无-为-1 个月前
科普文:微服务之微服务改造【无状态token】JWT-token
安全·微服务·架构·jwt-token·无状态token
loong_XL2 个月前
vue、react前端框架实现TodoList页面案例
前端·vue·nodejs·react
小春学渗透2 个月前
服务攻防-框架安全(漏洞复现)
安全·网络安全·nodejs·cve·vulhub·框架安全
小春学渗透2 个月前
NODEJS复习(ctfshow334-344)
网络安全·nodejs·代码审计·ctfshow
oscar9992 个月前
一篇学通Axios
javascript·http·nodejs·axios
张志翔的博客2 个月前
pnpm 如何安装指定版本
nodejs