当前位置: 首页 > 面试题库 >

刷新后如何保持用户登录Firebase应用程序?

法镜
2023-03-14
问题内容

我有一个内置于firebase和angular中的应用程序,并且希望能够在刷新页面后使用户保持登录状态。现在我有一个登录屏幕,其中包含两个基本输入字段,这些输入字段绑定到控制器

    this.email = "";
    this.pass = "";
    this.emessage = "";

    this.loginUser = function() {
        ref.authWithPassword({
            email: this.email,
            password: this.pass
        }, function(error, authData) {
            if (error) {
                console.log("Login Failed!", error);
                this.emessage = error.message;
                $scope.$apply();
            } else {
                dataStorage.uid = authData.uid;
                $location.path('/projects');
                $scope.$apply(); 
            }
        }.bind(this));
    }

这一切都很好,很不错,并且可以,但是当用户刷新页面时,他们将被注销。有什么方法可以在加载控制器时查看用户是否已经登录并自动重定向?谢谢!


问题答案:

您现在拥有的代码可以处理用户登录的情况。要处理用户已经登录的情况,请监视身份验证状态。从Firebase有关监视身份验证状态的文档中:

// Create a callback which logs the current auth state
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.onAuth(function(authData) {
  if (authData) {
    console.log("User " + authData.uid + " is logged in with " + authData.provider);
  } else {
    console.log("User is logged out");
  }
});

通常,您只想在else此功能的中显示登录按钮。



 类似资料:
  • 问题内容: 安装组件时,我想根据用户登录的状态来呈现登录屏幕或应用程序。但是,每次刷新时,用户都会注销。我如何保持他们的登录状态? 应用组件: 这是我用来登录用户的方法(效果很好): 问题答案: 用户的令牌自动保存到本地存储中,并在加载页面时读取。这意味着,当您重新加载页面时,应该再次自动验证用户身份。 最可能的问题是您的代码未检测到此身份验证,因为构造函数在Firebase重新加载并验证用户凭据

  • 我正在创建一个Ionic应用程序(iOS和带有电容的Android)。我在我的应用程序中添加了Firebase身份验证,但每次退出应用程序时,我都需要重新登录。 我看到了这个,但是没有太多的文档,并且我尝试了它但是没有工作。我不确定我正确地使用了它,或者在正确的地方添加了代码。https://firebase.google.com/docs/auth/web/manage-users?HL=en

  • 使用Firebase.auth(),如果身份验证状态没有改变,如何刷新/重新获取用户? 我有一个使用电话号码进行身份验证的用户。我向点击该链接的用户发送电子邮件验证链接。该链接验证用户电子邮件(更新记录),并显示一个“继续”按钮,该按钮(通过deeplink)返回到应用程序。回到应用后,我想从 Firebase 重新提取用户记录,以便查看用户电子邮件是否已通过验证。我该怎么做?

  • 这就是我想使用WebDriver执行的。 选中“保持用户登录”复选框登录站点 问题是当我关闭驱动程序并重新打开它时,我没有登录。 我的代码看起来像这样-

  • 当使用signInWithEmailAndPassword()API在firebase中进行身份验证时,我无法获得有效的“当前”用户。 我使用用户名和密码登录应用程序 我一旦登录,用户就会被带到主页 我试图获取用户的UID,但是没有返回有效的用户。调用发生在异步函数中,如下所示: 当前用户为空。 知道是什么引起的吗?

  • 问题内容: 对于典型的最典型的面向Internet的网站,当您通过关闭选项卡( 无需注销 )登录并离开该网站(然后 注销 ),然后再次访问时,可能不需要您重新指定凭据或登录,您可以直接登录。 这一切在后端如何发生?如何在我的JSF 2.1应用程序中启用这种机制? 在Tomcat7服务器上使用JSF 2.1 问题答案: 这基本上是通过一个长寿的cookie完成的。JSF API不提供此功能,因为它只