如何在firebase的authStateObserver中调用.isNewUser()

mic*_*ers 5 javascript firebase firebase-authentication

在文档中完全不清楚如何检查新登录的用户之前是否登录过我的网络应用程序。这里引用了一个 isNewUser() 调用:

附加用户信息

不清楚的是如何在使用 firebase auth 调用和观察者时访问此调用。

firebase.auth().onAuthStateChanged(authStateObserver);
Run Code Online (Sandbox Code Playgroud)

authStateObserver 在用户使用指定的提供者登录后获取用户对象。这个用户对象不能用于调用 .isNewUser() 那么如何从这个 authStateObserver 内部获得对 .isNewUser() 的调用的 additionalUserInfo 呢?这是在 Web 应用程序中的 javascript 中。

boj*_*eil 3

firebase.auth().onAuthStateChanged只能用 触发FirebaseUser。你无法得到additionalUserInfo或任何credential例如。与该观察者的结果关联的 OAuth 令牌。您必须在firebase.auth.UserCredential登录承诺解决后获取它。

由于这些结果仅在登录时可用一次,并且 Auth 不会刷新 OAuth 凭据或主动更新底层 OAuth 配置文件,因此 Firebase Auth 选择不在onAuthStateChanged侦听器中提供它们,因为它可能会误导开发人员认为侦听器可用于侦听/获取新的凭据或其他用户数据,而实际上这些信息仅在登录时可用。

观察者只会观察到 FirebaseUser 的更改,例如。登录或注销事件。