美文网首页
Node.js JWT的简单使用

Node.js JWT的简单使用

作者: JoseWoo | 来源:发表于2019-10-28 17:56 被阅读0次
JWT(JSON Web Token)

什么是JWT

直接点阮一峰大神的JSON Web Token 入门教程,主要是想记一下node里边最简单的使用方法。它就是这个东西,平时做登录有用到的,后端返回来的一个Token令牌,下面的图长左边那样,看着就很熟悉了,经常在Headers带过去的。

Token

Node.js + JWT  

Node.js能写服务,那肯定就会有Node版本的JWT了。链接:JWT官网。往下拉会找到这个,然后点右下角按钮可以进去github页,里边有使用的文档。

jsonwebtoken

文档里边很详细,首先还是一样的先install,然后图里是使用的方法

使用JWT

代码如下:

// 引入jsonwebtoken

const jwt = require('jsonwebtoken');

const JWT_STRING = 'JOSE' //加密的key(密钥)

class Jwt {

    constructor(data){

        this.data = data

    }

    // 生成Token

    generateToken() {

        let params = this.data

        let createdTime = Math.floor(Date.now() / 1000);

        console.log('------------')

        console.log(params)

        console.log('------------')

        let token = jwt.sign({

            params,

            exp:createdTime + 60 * 10080   //10080分钟后过期

        }, JWT_STRING);

        return token

    }

    // 校验Token

    verifyToken() {

        let token = this.data

        let res

        try {

            let result = jwt.verify(token, JWT_STRING) || {}

            console.log(result)

            let {exp = 0} = result, current = Math.floor(Date.now() / 1000);

            if (current <= exp) {

                res = result || {};

            }

        } catch(e) {

            res = 'err';

            return res

        }

        return res

    }

}

module.exports = Jwt;

上面写好的一个方法,然后exports暴露出去。

然后在需要使用的js文件里面引入 

const JwtUtil = require('../utils/jwt');

根据自己的登录逻辑去返回出去给接口,我这里有写了比较多,你可以直接在node里面console也行,我这代码太多就不贴出来了。

使用

我这里是登录成功的话返回信息同时吧token返回出去,看下接口有没有生成到token返回出去。

结果

这是拿postman测试接口返回的,然后OK,这就是生成出来的token。具体的步骤就是这些:

1、install

2、写好生成的方法和验证的方法,逻辑的话根据自己的需求来

3、调用生成的函数或者验证的方法。更详细的可以去看官网文档,这只是记一下简单使用而已。

相关文章

网友评论

      本文标题:Node.js JWT的简单使用

      本文链接:https://www.haomeiwen.com/subject/jkibvctx.html