我试图弄清楚如何使用node.js和angular.js对用户进行身份验证。我有一个节点服务器,其路由指向api / login。用户可以注册并登录所有工作。但是当我到达客户端时,我不知道该去哪里。我已经设置了一个http拦截器,如果会话不存在,它会将用户发送回登录页面。我目前正在使用session express。以下是我的代码片段:
登录路线:
router.post('/login', function(req, res, next) {
var username = req.body.username;
var password = req.body.password;
User.findOne({username: username, password: password}, function(err, user) {
if(err) {
console.log(err);
res.status(500).send();
}
if(!user) {
res.status(404).send();
} else {
console.log('Set' + user);
req.session.user = user;
res.status(200).send();
}
});
保护此终端:
app.get('/api/endpoint', function(req, res) {
if(!req.session.user) {
console.log('Unauthorized');
res.status(401).send();
} else {
console.log('Logged in');
res.status(200).send();
}
});
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use('/api', require('./routes/login'));
app.use('/api', require('./routes/register'));
app.listen(port);
我不确定这是否足够详细,但我知道这里出现了一些非常简单的问题,我只是看不到它哈哈!任何帮助将不胜感激!