使用JWT对Koa2进行token认证

一  什么是JWT

      jwt,全称 JSON WEB TOKEN 简单地说就是在网络应用环境间传递声明而执行的一种基于JSON的开放标准。想具体了解,请移步这里。

      jwt的构成: 第一部分,我们称之为头部(header),第二部分,我们称之为载荷(payload),第三部分为签证(signature)。

    头部: 声明类型和声明加密的算法,通常直接使用 HMAC SHA256

    载荷: 主要存放一些jwt定义的声明,包括标准中注册的声明、公共的声明和私有的声明。然后将其进行base64加密。

    签证:这个部分需要base64加密后的header和base64加密后的payload使用.连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密。

    将这三个部分连接起来,就是一个完整的jwt。

二  如何在项目中引入

    1  搭建koa2相关项目(如何搭建请移步我的上一篇文章:用koa2+mysql搭建后端服务器 )

    2  下载jsonwebtoken (实现jwt) 、koa-jwt(jwt的koa中间件)、util(工具类)

npm install jsonwebtoken koa-jwt util --save

    3  在app.js中使用

app.js中使用

4、 利用中间件对token进行验证:

中间件进行token验证

5、 签发token(一般放在注册和登录方法里面):

 const token = jwt.sign(userToken, secret.sign, { expiresIn: "1h" }); // expirseIn 有效时长

6、前端保存token,然后在请求别的接口时头部加上token,就完成了。

你可能感兴趣的:(使用JWT对Koa2进行token认证)