如何在节点js中创build一个loginAPI?
我正在开发一个完全写在node js
的web应用程序。 所有function和Web UI已经完成。
发生了什么事情,我可以在不login应用程序的情况下击中服务API。 这就像你可以使用这些服务没有login到应用程序。
任何人都可以告诉我如何创build一个loginAPI,直到用户login,它不能使用服务?
任何帮助将不胜感激。
创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端点。