$ firebaseSimpleLogin和会话无需重新登录

时间:2014-04-19 01:54:05

标签: firebase angularfire firebase-security

我使用$ firebaseSimpleLogin使用电子邮件/密码登录Firebase。

当我使用电子邮件/密码登录时工作得相当好,我可以看到sessionkey会自动保存为cookie。

但是,想要记住登录,这样用户只需登录一次。 所以我在auth期间加入了{rememberMe:true}。

如何在正在加载的页面开头检查会话是否仍处于活动状态?

1 个答案:

答案 0 :(得分:6)

根据您的问题,我假设您正在使用Angular JS。

您可以在主模块上执行run块,每次加载页面时都会运行该块。我不太了解Angularfire,这是我在黑客日项目中使用的代码,用于检查身份验证并在需要时重定向到登录页面。

FirebaseRef是指向我的Firebase实例的包装器。

这也确保currentUser对象在所有范围内都可用。

var minib = angular.module('minib', ['ngRoute', 'firebase']);

minib.run(function($rootScope, $location, $firebaseSimpleLogin, firebaseRef) {
  $rootScope.auth = $firebaseSimpleLogin(firebaseRef());
  $rootScope.auth.$getCurrentUser().then(function(user) {
    if (user) {
      $rootScope.currentUser = user;
    } else {
      $location.path('/login');
    }
  });
});