美文网首页
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