Javascript Firebase身份验证允许任何用户在只有一个用户登录时获得访问权限

Javascript Firebase身份验证允许任何用户在只有一个用户登录时获得访问权限,javascript,angularjs,node.js,firebase,firebase-authentication,Javascript,Angularjs,Node.js,Firebase,Firebase Authentication,这就是故事。我正在与Firebase合作一个nodejs/express项目。这是一个登录系统,用户可以查看特定页面。现在我们正在使用Firebase进行身份验证和数据库。服务器后端的Node/express。一些页面上的Html、css、bootstrap和angular js 我通过npm为节点安装了Firebase。这意味着没有Firebase前端代码,Firebase全部位于后端 当用户登录时,它通过POST将数据从html表单发送到节点上的登录页面,例如 router.post('/'

这就是故事。我正在与Firebase合作一个nodejs/express项目。这是一个登录系统,用户可以查看特定页面。现在我们正在使用Firebase进行身份验证和数据库。服务器后端的Node/express。一些页面上的Html、css、bootstrap和angular js

我通过npm为节点安装了Firebase。这意味着没有Firebase前端代码,Firebase全部位于后端

当用户登录时,它通过POST将数据从html表单发送到节点上的登录页面,例如

router.post('/', function(req, res, next)
在这个函数中,我们对电子邮件和密码进行验证,然后调用

firebase.auth().signInWithEmailAndPassword(email, password).then(function()
因此,我们在后端通过express进行Firebase身份验证。我们在前端没有火力基地,只是澄清一下

我们在后端也有它,因为我们可以检查currentUser()是否经过身份验证,这样我们就可以重定向试图访问不存在的页面的用户

问题

当我把它推到我的谷歌云服务器上时,我测试了这个页面。它没有看到我登录并将我带到登录页面。那时我可以访问我的网站。问题是,当我在这个项目上的另一位合作伙伴从家里用笔记本电脑访问该网站时,它没有要求她登录,而是打开了主页,就好像我是登录者一样。基本上,它让我保持登录状态,任何人都可以通过进入该页面而不被要求进行身份验证来查看该页面

我不确定这是怎么回事,我的理论是这样的

1) 我犯了一个和Firebase无关的错误

2) 我必须在节点中为此创建自己的会话或cookie

3) 我必须使Firebase的所有前端,而不是后端,使所有这些工作


如果其他人需要更多的代码,或更多的解释,请让我知道。谢谢您

您正在后端登录,这将为每个人保留会话。您必须使用客户端SDK在客户端登录。@bojeil ya这是一个严重的错误,我现在看到了,我去了一个头,将其移动到前端,并使用后端跟踪令牌,以检查哪些用户可以访问哪个页面