【问题标题】:how to change a page without logout a user in Javascript and firebase如何在不退出 Javascript 和 firebase 用户的情况下更改页面
【发布时间】:2019-02-01 00:58:22
【问题描述】:

我是使用 javascript 的 firebase 的初学者,但我想使用 firebase 开发一个网络应用程序来获取我的身份验证部分。 (因为该应用程序还与 iPhone/Ipad 应用程序连接)

现在我的连接页面有两个字段,一个用于电子邮件,第二个用于密码。当我单击连接按钮时,我使用 firebase 功能进行身份验证,并从 javascript 请求打开第二个网页。

但我的问题是如何在我的新网页中保留来自 firebase 的用户 ID?

此外,我如何检查用户是否已登录网站并且未经许可他不在这里?

我的登录代码:

function login() {
  var userEmail = document.getElementById("email_field").value;
  var userPass = document.getElementById("password_field").value;

  firebase
    .auth()
    .signInWithEmailAndPassword(userEmail, userPass)
    .catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;

      window.alert("Error : " + errorMessage);

      document.location.reload(false);
    });

  window.alert("Welcome");
  $("#connection").hide();
  UserExist();
}

function logout() {
  firebase.auth().signOut();
}

function UserExist() {
  document.location.href = "desktop.html";
}

感谢您的帮助!

【问题讨论】:

  • 使用 cookie 或 localStorage 存储令牌,使其持久化,只要您在同一个域中,您就可以在任何页面中查看它。
  • 我已经检查了如何使用cookies,我的代码是:var ref = new Firebase("https://XXXXXXXX.firebaseio.com"); var authData = ref.getAuth(); document.cookie = "UserID="+authData.uid+"; expires=; path=/"这个代码是在调用函数UserExist()之前添加的,但是代码不起作用......
  • 用这个包来管理cookiegithub.com/js-cookie/js-cookie,更简单。
  • 我的 cookie 正在工作,但在连接期间获取我的 UserId 的方式不起作用...
  • 第二个网页怎么打开

标签: javascript firebase firebase-authentication href


【解决方案1】:

您必须使用刷新令牌并将令牌保存在本地存储中

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2022-10-15
    • 2017-12-13
    • 2020-04-20
    • 2016-10-03
    相关资源
    最近更新 更多