nodejs jwt java_NodeJS 基于 JWT 实现身份验证(token、自动登陆)

JWT 简单的原理介绍

JWT(Json Web Token)是一种身份验证及授权方案,简单的说就是调用端调用 api 时,附带上一个由 api 端颁发的 token,以此来验证调用者的授权信息。

通过一种加密规则(如 HS256)+ secret 生成一串字符串(token),token 字符串中一般含有过期时间和签名信息,根据签名和过期时间,就可以判断当前 token 是否有效。

// newToken是根据 'jwt_secret' 生成的, jws.verify用于校验当前token是否是根据当前secret生成的

console.log(jws.verify(newToken, 'HS256', 'jwt_secret')); // true

console.log(jws.verify(newToken, 'HS256', '-=-=-=')); // false

无论使用哪个 secret 生成的 token,都是可以解析到 payload 的内容的,仅仅只是签名不同,

payload 的常见内容:

{

uuid: "3455445-acuya7skeasd-iue7", // token的有效内容

phone: 133409899625, // token的有效内容

expires: 1591066434678, // token的过期时间

},[signature]

根据 expires 判断 token 是否过期,根据 signature 判断当前 token 是否时本人创建,根据这两点就可以判断 token 是否有效了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值