【发布时间】:2017-03-23 14:50:35
【问题描述】:
我在 Mean Stack Application 中使用了 passport.js 的 Customcallback。我已经设法从 Angular 控制器和我所做的护照操作中调用了 app.post。
app.controller('LoginCtrl',
function ($scope, $http, $window, $filter, $location)
{
$scope.LoginClick = function () {
$http.post('/login', $scope.login).success(function(response){
$location.path('/home.html');
})
.error(function(err){
$scope.error_message = err;
});
};
});
在 server.js 中
app.post('/', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); }
if (!user) { return res.redirect('/'); }
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/home.html);
});
})(req, res, next);
});
但是这里从节点的重定向不起作用以及如何将它们传递给角度控制器。如果它通过身份验证或成功到 home.html 并且如果错误重定向到带有错误消息的登录页面。
谁能帮忙解决。
【问题讨论】:
-
只需重定向到'/'并在成功登录后需要设置会话/cookie 的角度控制器中进行检查。并始终检查该 cookie 以重定向到 angular 的主页
-
@Love-Kesh 你能用支票的例子解释一下吗?我的意思是从节点到角度的响应来检查
-
您需要获取登录用户数据以响应登录 api,然后在 cookie 中设置该用户以检查用户是否已登录。用户注销时还需要清除该cookie。
-
那是passport js处理的吧
-
passport 在节点 js 的服务器端而不是客户端(角度)端处理所有这些。您需要手动操作。
标签: angularjs node.js express passport.js passport-local