如何在节点js中创build一个loginAPI?

我正在开发一个完全写在node js的web应用程序。 所有function和Web UI已经完成。

发生了什么事情,我可以在不login应用程序的情况下击中服务API。 这就像你可以使用这些服务没有login到应用程序。

任何人都可以告诉我如何创build一个loginAPI,直到用户login,它不能使用服务?

任何帮助将不胜感激。

我build议使用passportjs ,伟大的图书馆来实施login策略,并且真正有据可查。 我希望这将是充分的帮助。

http://passportjs.org/

问候。

创build一个自定义的中间件,检查用户是否login,然后相应地redirect(login页面)。

像下面的东西,( 我在这里使用express-session

 var isLoggedIn = function(req, res, next) { if (!req.session.username) { res.redirect('/login'); } next(); } 

然后用你的API以下面的forms使用它。

 app.get('/home', isLoggedIn, function(req, res) { res.sendFile(path.join(__dirname+'/views/home.html')); }); 

从你写的内容来看,你已经写了一个使用nodeJS的API。 正如其他人所说,passportJS是正确的工具,但它带有许多策略。 尝试使用这一个: https : //github.com/themikenicholson/passport-jwt 。 旨在用于保护没有会话的RESTful端点。