在angularjs中检查cookie时获取循环

时间:2015-04-16 17:35:28

标签: javascript angularjs node.js cookies hapijs

这是我在客户端的代码。我想要实现的目标非常明确。如果用户拥有cookie,则会对其进行身份验证,否则会重定向到服务器上的auth端点

(function() {
  'use strict';

  angular
    .module('App', [
      'ui.router',
      'ngResource',
      'ngCookies'        ])
    .run(['$window', '$cookies', '$state', function($window, $cookies, $state) {

      if($cookies['cookie-app']) {
        console.log('authenticated');
      } else {
        $window.location.href = "http://" + $window.location.host + "/auth/facebook";
      }
    }]);
})();

这是服务器端使用Hapijs

制作的代码
module.exports = function(request, reply) {

  if (request.auth.isAuthenticated) {
    console.log(request.auth.credentials.profile.raw);
    request.auth.session.set(request.auth.credentials.profile.raw);
    return reply.redirect('http://localhost:8080');
  }

  reply('Not logged in').code(401);
};

cookie已正确设置,但是如果我得到无限循环,我就不会成功。我的情况如下。 nginx提供angularjs文件,它作为hapijs服务器的反向代理。

你知道为什么吗?

1 个答案:

答案 0 :(得分:0)

需要在hapi-auth-cookie

的选项上禁用httpOnly标志