node制作token

node制作token

1定义:jwt全称json web token ,jwt.io是用于令牌签名/验证的库,用来生成jwt。简单理解一下,就是 jwt.io这个库,提供了一种方法可以将一些信息加密,形成一串长长的字符串;

2.node中使用

借助jsonwebtoken插件

  • (1)下载: npm i jsonwebtoken
  • (2)导入: const jwt=require('jsonwebtoken')
  • (3)存在一个加密函数sign用于生成jwt ;

    • 语法:jwt.sign(data,str,option)

      • data

        • 加密数据

        • 类型:对象

      • str

        • 自定义字符串(密钥)

        • 类型:字符串

      • option:

        • 配置项

        • 类型:对象

        • 可以设置令牌有效时间{expiresIn:time}

          • time取值eg:2h;表示有效期为2小时;

    • 举例说明

      • token = jwt.sign(
                     {
                       id: String(results[0].id),
                       username: String(results[0].username)
                     },
                     'token',
                     { expiresIn: '2h' }
                   )
                   res.send({
                     message: '登录成功',
                     code: 200,
                     data: {
                       token
                     }
                   })
        ​

         

  • (4)存在一个解密函数verify函数用户解密

    • 语法:jwt.verify(data,str)

      • data:要解密的数据(前端携带过来的token req.headers.属性名)

      • str:密钥

    • 举例说明

      • const { id } = jwt.verify(req.headers.token, 'token')

         

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值