2017-06-13 26 views
4

我正在开发一个完全写在node js中的web应用程序。 所有功能和Web UI已完成。如何在节点js中创建登录API?

发生了什么事情,我可以在不登录应用程序的情况下点击服务API。这就像您可以在不登录应用程序的情况下使用服务一样。

谁能告诉我如何创建一个登录API,以便直到用户登录,它不能使用服务?

任何帮助将不胜感激。

回答

4

我建议使用passportjs,伟大的库来实现登录策略,并且有很好的记录。我希望这会有所帮助。

http://passportjs.org/

问候。

1

创建一个自定义中间件,用于检查用户是否已登录,然后相应地重定向(登录页面)。

类似下面,(我用express-session这里

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

然后在下面的表格连同你API使用它。

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

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