小编ani*_*ham的帖子

使用 auth 来知道用户已登录

我的问题是这样的:

我有一个用 react 构建的整个站点,我通过 Nodejs 连接到该站点,我基本上从服务器端获取站点的所有信息。

对于聊天,不可能使用服务器端,因为您需要称为侦听器的东西,对于侦听器,您还需要在 React 中配置 firebase 并且侦听器将起作用,对于聊天,您需要允许连接的用户发送消息,不会对所有人开放。要知道谁已连接,您需要使用名为 auth 的选项。

我需要身份验证,对于 firebase 中的规则,我只能允许连接的用户访问聊天,而不是让规则对所有人开放。

当我将 firebase 中的规则设置为 true 时,聊天有效,但我希望只有注册用户才能使用聊天,我制定了规则。 在此处输入图片说明

我收到以下错误:

Uncaught Error in snapshot listener: FirebaseError: Missing or insufficient permissions.
Run Code Online (Sandbox Code Playgroud)

问题是我已经通过服务器端连接,但也需要通过 react 连接,我还需要通过 react 连接以查看谁已连接,并且仅对于已连接的人我希望允许聊天用过的。需要通过反应连接,因为只有通过反应我才能获得 firebase 必须提供的所有功能。只有当您通过 react 直接连接到 firebase 时才能获得 auth,但它要求在 react 中我也将连接聊天。(需要监听器,因为这样用户可以立即收到某人发送给他的消息,并且需要 auth 才能只允许注册用户访问聊天)

为此,我需要通过 react 进行连接,并使用称为 auth 的东西来查看谁已连接。但是整个站点本身是围绕通过 nodejs 登录而构建的,并且在 nodejs 中无法使用 auth。nodejs 无法跟踪 auth,nodejs 最后只以 JSON 形式返回信息。

我不知道如何在react中启用与auth的连接,因为我说的,将所有连接转移到react,会拖动填充站点上的更改,但是通过nodejs登录不允许使用auth,因为它是服务器端,所以我的服务器端只返回 JSON 数据,而不返回其他功能,比如 auth。

我正在考虑通过 react 和 nodejs 进行登录时间,但是我担心它不会起作用,因为它可能会创建 2 个不同的令牌,并且只允许其中一个起作用。

我曾尝试做其他解决方案,如 privateRoute,但它仍然无济于事,因为必须以某种方式获得身份验证,这允许知道谁连接。如果有人可以帮助我或为我提供解决方案,我会很高兴,我认为应该可以用它来解决问题并解决问题。

如何告诉 Firebase 注册用户想要访问聊天?

到目前为止我所做的代码: …

javascript node.js firebase reactjs

5
推荐指数
1
解决办法
363
查看次数

标签 统计

firebase ×1

javascript ×1

node.js ×1

reactjs ×1