Skip to content

moas测试api报token错误

alfred sang edited this page Sep 15, 2015 · 1 revision

检查环境变量

如果没有moas这个环境变量,请自行设置

export moas=1

即可

检查check_api_token.js

mate ~/.moa/app/middlewares/check_api_token.js

/*!
 * Moajs Middle
 * Copyright(c) 2015-2019 Alfred Sang <[email protected]>
 * MIT Licensed
 */

var jwt = require('jsonwebtoken');//用来创建和确认用户信息摘要
// 检查用户会话
module.exports = function(req, res, next) {
  if (process.env.moas) {
    req.api_user={
      _id : "55d8702d5472aa887b45f68c"
    }
    console.log('当前使用moas运行,不使用token即可访问!');
    return next();
  }
  
  console.log('检查post的信息或者url查询参数或者头信息');
  //检查post的信息或者url查询参数或者头信息
  var token = req.body.token || req.query.token || req.headers['x-access-token'];
  // 解析 token
  if (token) {
    // 确认token
    jwt.verify(token, 'app.get(superSecret)', function(err, decoded) {
      if (err) {
        return res.json({ success: false, message: 'token信息错误.' });
      } else {
        // 如果没问题就把解码后的信息保存到请求中,供后面的路由使用
        req.api_user = decoded;
        console.dir(req.api_user);
        next();
      }
    });
  } else {
    // 如果没有token,则返回错误
    return res.status(403).send({
        success: false,
        message: '没有提供token!'
    });
  }
};

然后再在项目执行moas即可

Clone this wiki locally