NodeJs之token

一、密码加密

  const crypto = require("crypto");
  const jwt = require("jsonwebtoken");
  const pwd = crypto.createHash('sha256').update(req.body.password).digest('hex');
  const info = {
  username: req.body.username,
  password: pwd,
 };

二、token生成

// info是用户名和密码
User.find(info, (err, docs) => {
  if (docs.length != 0) {
    // 生成token
    const token = jwt.sign(info, "Libai", {
      expiresIn: 60 * 60 * 24, // 24小时过期
    });
    res.json({
      status: 1,
      message: "登录成功",
      token: token,
    });
  } else {
    res.json({
      status: 2,
      message: "用户名或密码错误!",
    });
  }
});

三、求结果,统一处理返回值

function requestResult(data){
    if(data){
        return {
            status: 1,
            message: 'success',
            body: data
        }
    }else{
        return {
            status: 2,
            message: 'error',
            body: data
        }
    }
}

module.exports = requestResult

四、实践

const Koa = require("koa");
const koa_jwt = require("koa-jwt");
// post
const bodyParser = require("koa-bodyparser");

const router = require("koa-router")();
const jwt = require("jsonwebtoken");
const app = new Koa();
app.use(bodyParser());
const secret = "小火车况且况且";

const token = jwt.sign({ name: "小火车" }, secret, { expiresIn: "1s" });
const need_Token = koa_jwt({ secret });

router.get("/", (ctx) => {
  ctx.body = "hello world";
});

router.post("/login", (ctx) => {
  ctx.body = "hello user";
});

app.use(router.routes()).use(need_Token);

app.listen(3000, () => console.log("===>>success====="));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值