首页 > 解决方案 > firebase.auth().onAuthStateChanged() 登录新创建的用户

问题描述

我有一个 firebase/node 应用程序启动并运行,直到现在,我一直在自己测试它。

但是,我终于达到了希望其他人对其进行测试的目的,因此我部署并提供了一个朋友的 URL。

立即,当他创建一个帐户(在我的应用程序中是 via firebase.auth().createUserWithEmailAndPassword())时,当我访问该页面时,它显示为以我的朋友身份登录。

当我点击注销路线并使用我的凭据登录时,他看到该页面以我的身份登录。

我所有的路线都在使用firebase.auth().onAuthStateChanged(function (user) {...})

我一辈子都找不到任何关于我在这里可能做错了什么的信息。任何帮助或见解都会令人惊叹。另外,我什至不知道我应该在这个问题中包含哪些信息,所以即使是关于这方面的指导也会有所帮助。

标签: node.jsfirebaseexpressfirebase-authentication

解决方案


createUserWithEmailAndPassword()当您通过该方法创建用户时,成功后该用户也将登录到您的应用程序,如文档中所述。

当您点击logout路线(我猜是调用该signOut()方法)时,您实际上是在注销该用户。当您使用自己的帐户再次登录时,您会看到您的用户。


如果您想避免这种行为(以您刚刚创建的新用户身份登录),您将需要实现不同的方法,例如调用创建新用户的云函数。

您可能会对这篇文章感兴趣,该文章介绍了如何使用Callable Cloud Function构建一个模块,该模块允许具有特定管理员角色的最终用户创建其他用户(免责声明,我是作者)


推荐阅读