Node—— 服务端JWT生成、解析token

一、下载jwt依赖用于令牌签名/验证的库
国内淘宝镜像cnpm安装教程

cnpm i -S jsonwebtoken

二、在app.js 编写如下代码

const jwt = require('jsonwebtoken')

const username = "admin"
//token私钥
const PRIVATE_KEY = 'tokenKey'
//token时效
const JWT_EXPIRED = 60 * 60

const token = jwt.sign({ username },PRIVATE_KEY,{expiresIn:JWT_EXPIRED})
console.log("token就这么简单:",token)

三、运行结果:
在这里插入图片描述
四、在此我们已经把token生成好了

五、解析已生成的token,并获取token里的参数

const jwt = require('jsonwebtoken')

//token私钥
const PRIVATE_KEY = 'tokenKey'
//token
const token = `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNTgzMzg2MzM1LCJleHAiOjE1ODMzODk5MzV9.7MkdZmzi2JidLFpyZqi7pXO69OJtud4YyuZkH_xk_qg`

//解析token
let verifyToken = jwt.verify(token, PRIVATE_KEY)

console.log(verifyToken);

六、执行:node app.js
在这里插入图片描述
OK,成功解析出token中的参数

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
生成token的一种方式是使用JWT(JSON Web Token)技术。JWT是一种开放标准,它定义了一种紧凑且自包含的方式来在各方之间安全地传输信息。下面是使用Java生成token的步骤: 1. 导入依赖 使用JWT需要导入以下依赖: ``` <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>0.11.2</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>0.11.2</version> <scope>runtime</scope> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-jackson</artifactId> <version>0.11.2</version> <scope>runtime</scope> </dependency> ``` 2. 创建JWT ``` String secretKey = "yourSecretKey"; String shortToken = Jwts.builder() .setSubject("subject") .setExpiration(new Date(System.currentTimeMillis() + 60000)) .signWith(SignatureAlgorithm.HS512, secretKey.getBytes()) .compact(); ``` 其中,`setSubject`方法设置token主题,`setExpiration`方法设置token过期时间,`signWith`方法使用HS512算法对token进行签名,`compact`方法生成token字符串。 3. 解析JWT ``` Jws<Claims> jws = Jwts.parserBuilder() .setSigningKey(secretKey.getBytes()) .build() .parseClaimsJws(shortToken); String subject = jws.getBody().getSubject(); ``` 其中,`setSigningKey`方法设置签名密钥,`parseClaimsJws`方法解析token并返回Jws对象,`getBody`方法获取token的内容,`getSubject`方法获取token的主题。 以上就是使用Java生成token的步骤。需要注意的是,使用JWT生成token并不一定是短token,而是一种安全且可靠的token传输方式。如果要生成token,可以根据需要对生成token字符串进行截取等处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值