【koa2】使用token
2021/12/29 6:08:43
本文主要是介绍【koa2】使用token,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 安装
npm install jsonwebtoken --save
2. 登录成功签发token
理解: 登录时通过数据库验证用户名和密码是否正确,若正确返回 token,否则提示错误
routes/user.js
// routes/user.js const jwt = require("jsonwebtoken"); const { SECRET_KEY } = require("../utils/cryp"); router.prefix("/api/users"); router.post("/login", async (ctx, next) => { const { username, password } = ctx.request.body; const data = await login(username, password); const id = data.id; // Token 数据 const payload = { username, id, }; // 签发 Token const Token = jwt.sign(payload, SECRET_KEY, { expiresIn: "1day" }); if (!data) { ctx.body = { code: 400, msg: "登录失败", }; return; } ctx.body = { code: 200, msg: "登录成功", data, Token, }; });
3. 验证 token 中间件
utils/checkToken.js
// utils/checkToken.js const jwt = require("jsonwebtoken"); const { SECRET_KEY } = require("../utils/cryp"); const checkToken = async (ctx, next) => { const url = ctx.request.url; if (url == "/api/users/login") { await next(); } else { const token = ctx.request.header.token; try { jwt.verify(token, SECRET_KEY); await next(); } catch (error) { console.log(error); } } }; module.exports = checkToken;
4. app.js中使用中间件
const checkToken = require("./utils/checkToken"); app.use(checkToken);
不忘初心
参考链接:
https://blog.csdn.net/weixin_43801907/article/details/105310324
https://github.com/auth0/node-jsonwebtoken
这篇关于【koa2】使用token的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解