簡體   English   中英

Node.js路由身份驗證

[英]Node.js routes authentication

我對node.js相當陌生,我試圖遵循一個教程,並試圖修改項目的結構。 在本教程中,它們的所有端點都在server.js文件中。 我已經為模型,路線和控制器創建了一個文件夾。 我正在使用JWT濕令牌。

在本教程中,它們具有以下代碼:

var authenticate = (req,res,next) => {
   var token = req.header('x-auth);

   User.findByToken(token).then((user) => {
     if(!user){
     return Promise.reject();
   }

   req.user = user;
   req.token = token;
   }).catch((e) => {
      res.status(401).send();
   });
  };

app.get ('users/me/', authenticate, (req,res) => {
   res.send(req.user);
});

我創建了以下文件夾結構:
在此處輸入圖片說明

這是我的authenticate.js代碼:
在此處輸入圖片說明

這是我的UserModel.js代碼:
在此處輸入圖片說明

這是我的UserRoute.js代碼:
在此處輸入圖片說明

這是我的UserController.js代碼:
在此處輸入圖片說明

我不知道如何在export.get_user(紅色)上的控制器內使用身份驗證功能。

我需要做什么或更改?

我建議您閱讀這篇有關Express Middleware的不錯的文章。 同時,您可以通過如下所示的authenticate來解決問題。

UserController.js

// other code  

exports.get_user = function(req, res) {
   res.send(req.user);
}

UserRoute.js

module.exports = function(app) {
    // other code

    app.route('/user/me').get(authenticate, user.get_user);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM