javascript - 刷新后 firebase uid 变为未定义

标签 javascript firebase

所以问题几乎是标题,刷新页面或加载不同页面后,用户唯一 ID 变得未定义。尽管我仍然可以使用其他用户数据,例如姓名或电子邮件。

  signinBut.addEventListener("click", e => {
firebase.auth().signInWithPopup(provider).then(function(result) {
  var token = result.credential.accessToken;
  user = result.user;

}).catch(function(error) {
  var errorCode = error.code;
  var errorMessage = error.message;
  var email = error.email;
  var credential = error.credential;
});

});

这是写入用户对象的函数。

最佳答案

为了确保您始终获得用户正确的登录状态,attach a listener to onAuthStateChanged as shown in the Firebase documentation 。您可以使用此代替当前的then()回调,因此:

signinBut.addEventListener("click", e => {
  firebase.auth().signInWithPopup(provider).catch(function(error) {
    var errorCode = error.code;
    var errorMessage = error.message;
    var email = error.email;
    var credential = error.credential;
  });
});

firebase.auth().onAuthStateChanged(function(user) {
  user = result.user;
});

关于javascript - 刷新后 firebase uid 变为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49588310/

相关文章:

javascript - npm 在 ionic angular 中未满足对等依赖

javascript - Highcharts 气泡无法加载

firebase - 在 firebase-cloud-functions 中使用 @google-cloud/storage 面临signedUrl 问题

android - 使用自定义 UncaughtExceptionHandler 升级 Firebase Crashlytics

javascript - html 表单验证(使用 jquery.validate.js)在某些情况下不起作用

特定时间和日期的Javascript倒计时

javascript - 如何知道触摸何时从一个 div 滑到另一个?

firebase - 上传 Set<String> 会导致 flutter 出错

ios - Firebase 身份验证撤销 token 在 SwiftUI 应用程序中不起作用

javascript - 访问节点 firebase 并检查值