Token弹出层基本样式

一、使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

客户端使用用户名跟密码请求登录
服务端收到请求,去验证用户名与密码
验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
微商相册服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
二、JWT

JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。

JWT是由header(头部)payload(数据)signature(签名)三部分组成,中间用点分隔开,并且都会使用 Base64 编码。

如:

eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuaW5naGFvLm5ldCIsImV4cCI6IjE0Mzg5NTU0NDUiLCJuYW1lIjoid2FuZ2hhbyIsImFkbWluIjp0cnVlfQ.SwyHTEx_RQppr97g4J5lKXtabJecpejuef8AqKYMAJc
三、node实例来演示jwt创建token

(1)建议一个文件夹

(2)用vs code打开该文件夹,在控制台执行npm init

(3)安装依赖

npm install jsonwebtoken
(4) 引入依赖

const jwt = require(‘jsonwebtoken’)
(5) 创建一个payload 对象,用来存储用户信息

let payload = {
id:“134567”,
name:“zhangsan”
}
(6) 创建一个签名,即密钥

let seccret = “jwttoken”
(7) 生成token

let token = jwt.sign(payload,seccret,{
expiresIn:“1h” , //到期时间7d(7天) 12h 120=120ms 提供三种单位
issuer:“zzuly” //发行人
})
(8) 运行

node token.js
(9) 结果

(10) 解析token

jwt.verify(token,seccret,(error,decoded)=>{
if(error){
console.log(error)
return error
}
console.log(“校验”,decoded)
})
注意:校验失败和token过期都会在执行error。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值