$firebaseSimpleLogin和会话,无需重新登录



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

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

但是,我希望记住登录,这样用户只需要登录一次。所以我在auth中包含了{rememberMe:true}。

如何在加载页面开始时检查会话是否仍然有效?

根据您的问题,我假设您使用的是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');
    }
  });
});

相关内容

  • 没有找到相关文章

最新更新