重定向登录后,getRedirectResult返回null

时间:2019-01-21 07:22:16

标签: firebase firebase-authentication

onAuthStateChanged侦听器可以正确触发,但是getRedirectResult始终返回null,即使直接使用登录按钮并尝试在没有会话的情况下使用其他浏览器也是如此。

this.auth.getRedirectResult(authUser => {

      if (authUser) {
      } else {
        fallback();
      }
  });

上面的代码段是我可以提供的最佳上下文,但是我很自信我可以在componentDidMount内部正确使用它。

ty

2 个答案:

答案 0 :(得分:0)

问题是我同时使用npm版本导入了firebase脚本。我删除了脚本,一切正常。重定向和调用getRedirectResult之间的时间延迟仍然很荒谬。

答案 1 :(得分:0)

我也遇到了同样的麻烦。

我意识到,只要user为空,它就会在返回onAuthStateChanged之后发出getRedirectResult(通常情况下,onAuthStateChanged首先出现)。

因此,我假设分辨率与firebase.auth().currentUser相同。 这是在onAuthStateChanged上观察到的。

引用:https://stackoverflow.com/a/49640188

但是,由于它是按照以下方式在Firebase文档中编写的,因此可能是一个错误。

  

通过使用观察者,您可以确保Auth对象不在   获得当前状态时的中间状态(例如初始化)   用户。当您使用signInWithRedirect时,onAuthStateChanged观察者   等待,直到getRedirectResult解析后再触发。

引用:https://firebase.google.com/docs/auth/web/manage-users