Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js firebase.auth().onAuthStateChanged()在新创建的用户中签名_Node.js_Firebase_Express_Firebase Authentication - Fatal编程技术网

Node.js firebase.auth().onAuthStateChanged()在新创建的用户中签名

Node.js firebase.auth().onAuthStateChanged()在新创建的用户中签名,node.js,firebase,express,firebase-authentication,Node.js,Firebase,Express,Firebase Authentication,我有一个firebase/node应用程序正在启动和运行,到目前为止,我一直在自己测试它 然而,我最终得出了一个结论,我希望其他人能够对其进行测试,因此我部署并向一位朋友提供了URL 当他创建了一个帐户(在我的应用程序中是通过firebase.auth().createUserWithEmailAndPassword())时,当我访问该页面时,它显示为作为我的朋友登录 当我点击注销路径并使用我的凭据登录时,他看到页面以我的身份登录 我的所有路由都使用firebase.auth().onAuthS

我有一个firebase/node应用程序正在启动和运行,到目前为止,我一直在自己测试它

然而,我最终得出了一个结论,我希望其他人能够对其进行测试,因此我部署并向一位朋友提供了URL

当他创建了一个帐户(在我的应用程序中是通过
firebase.auth().createUserWithEmailAndPassword()
)时,当我访问该页面时,它显示为作为我的朋友登录

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

我的所有路由都使用
firebase.auth().onAuthStateChanged(函数(用户){…})


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

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

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


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


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

谢谢你@Renaud Tarnec。但是我似乎不理解带有Email和Password的
标志。目前,如果任何一个用户登录,那么世界上任何其他访问该站点的人都将作为该用户登录。这就是该方法的工作原理吗?如果是,您如何让用户登录,以便他们只能从其位置登录?是的,任何具有Firebase配置元素(例如
apiKey
)的人都可以通过调用
createUserWithEmailAndPassword()在Firebase项目中创建新用户
方法,或通过首次使用联合身份提供程序(如Google登录或Facebook登录)登录用户,或通过调用Auth REST API。你第一次读到这篇文章时似乎很奇怪,但这是Firebase身份验证的模型。我上面提到的文章解释了如何保护您的数据。你会在网上找到很多关于这一点的文章。@m4cbeth你好,你有时间在我的回答中详细看一下吗?如果您觉得有帮助,请向上投票,请参阅。谢谢。是的,我看了你的答案,谢谢你的帮助,我终于到了那里。问题是我在应用程序的服务器端使用客户端firebase.auth()。这就是导致这种奇怪行为的原因。再次感谢你的帮助!