问题标签 [firebase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
788 浏览

firebase - 安全 API auth 和 $ 变量不相等

我为我的应用程序尝试了以下安全规则,但遇到了问题。我的 Firebase 中有一个用户,唯一 ID 为 2。

我已经检查过,当我这样做时".write": "$user == 2",我将无法在 firebase 上写作,但是当我这样做时".write": "$user == '2'",我将能够在 firebase 上写作。

另一方面,当我这样做时".write": "auth.id == 2",我将能够在 firebase 上写作。

似乎 $user 被视为字符串,而 auth.id 被视为数字。我已经检查了https://www.firebase.com/docs/security/上的文档,但事实证明它对这个问题没有帮助。

在绝望的尝试中,我尝试".write": "$user == auth.id.toString()"了这当然给了我这个错误:“6:29:类型错误:目标上的函数调用不是一个函数。”

任何人都可以就这件事给我一些建议吗?

我能想到的唯一解决方法是将“userId”作为 $user 的子项包含在内,这将被读取为数字值而不是字符串。

0 投票
2 回答
1260 浏览

cordova - Firebase with Phonegap - 在 index.html 页面上完美运行,同时在其他页面上部分工作

我已经开始使用 Firebase 和 Phonegap(目前仅适用于 Android,使用 Adob​​e 的在线构建工具)。我从他们的网站上获取了 Firebase 聊天示例,并将其几乎“按原样”粘贴到 index.html 页面,并与 phonegap config.xml 所需的捆绑在一起。在我的 android 手机上运行带有单个 index.html 的应用程序时 - 它运行 100%。当我将它移动到链接到 index.html 的某个内部页面(即 chat.html)时,我可以接收传入的聊天,但没有一个出去。即使相同的代码出现在 index.html 上时,它看起来也没有正确加载。

我的猜测是它与我所说的参考文献、它们的顺序和位置有关。

以下是我的代码片段,如果需要,我可以说明更多:

在 config.xml 上:

在 index.html 上:

在 chat.html 我评论了所有的脚本标签(当然也尝试了所有这些标签都存在(未注释),结果相同)。

my.js(完整):

谢谢!

0 投票
1 回答
5776 浏览

api - Firebase 通过 REST API PHP CURL 获取数据

尝试通过 PHP cURL 进行简单的读取。如果我的安全规则允许所有人进入,我可以成功读取我的数据,例如

但是,如果我将读/写限制为特定的用户名,例如

我得到许可被拒绝。

代码如下...


值得注意的是,如果我只使用我的 FB 密码而不是 URL 中的令牌,我就能够成功读取数据(auth=$secret)。我还使用“自定义身份验证”成功测试了在 Forge 模拟器中读取数据,例如 {'username': 'admin'}

我正在使用 PHP JWT 库:https ://github.com/luciferous/jwt/blob/master/JWT.php

不确定我是否因为我的 cURL 调用不正确或者我没有正确构建令牌而被拒绝许可。我曾尝试通过 cURL 使用 POST 和 GET,但我得到了相同的结果。

我们欢迎所有的建议...


感谢安德鲁的超快速反应。我试过你的建议。不幸的是,我仍然收到“权限被拒绝”。这是我更新的代码...

  • 我确实通过将我们数据的 .read 规则更改为“auth!= null”来实现这一点 - 但这似乎并不那么安全......

作为参考,我们的数据结构很简单

顺便说一句:我们的应用程序将只有 1 个用户读取/写入数据。如果我无法让令牌工作......有没有更好的方法来通过 REST API 对调用进行身份验证,而无需在 URL 中传递我们的密钥?例如 &auth='我的秘密'

0 投票
1 回答
9138 浏览

local-storage - 使用 Firebase 进行会话管理?

我正在使用需要身份验证和会话处理的 Firebase 构建一个基本的 webapp。浏览 Firebase Auth 的文档后,我决定在 Facebook 登录上使用电子邮件/密码选项。

成功登录后,我们会得到一个token可以在页面刷新时再次用于登录或在新选项卡上使用auth(). 但是,为此我们需要将令牌保存在客户端的某个地方。浏览实现身份验证和会话处理的 Firefeed的源代码token,将其保存在localStorage用户的浏览器中。

这种方法有多安全?因为localStorage使用浏览器的任何人都可以看到数据。有没有更好的选择呢?

0 投票
0 回答
479 浏览

firebase - 为什么 authClient.createUser 会使用无效的电子邮件地址引发错误?

以下代码引发 javascript 错误,其中some_email是格式不正确的电子邮件地址:

它在控制台中给出了这个:

是否有原因导致回调不只是在填写错误参数且没有用户数据的情况下触发?这似乎是使用错误参数的好例子,并且让我们不必编写自己的电子邮件验证或 try/catch 块。

0 投票
2 回答
2130 浏览

firebase - push() 目前在 Firebase 中不起作用,还是我做错了什么?

我有以下代码:

如果我转到 url:“https://myacct.firebaseIO.com”,我只会在集合中看到“item3”。我没有看到其他两个。似乎集合对象正在被重写而不是被添加到。如果我手动输入孩子的名字,一切都会奏效。例如,以下工作:

这是一个错误,还是我在使用方式上做错了push什么?

谢谢。

0 投票
1 回答
541 浏览

cordova - 是否可以在 Phonegap 应用程序中通过 Facebook 进行 Firebase 身份验证?

我用 Facebook 身份验证制作了我的第一个基于 Firebase 的网页,它运行得非常好(并且易于设置)。

但我想将 html 嵌入到可以在 iOs/Android 上运行的 Phonegap 应用程序中并不容易。我假设 Facebook(或 Twitter)身份验证不能直接在 App WebView 上工作。

有可能让它工作吗?有什么提示吗?

0 投票
1 回答
919 浏览

firebase - 对有序 Firebase 数据的多个视图

我的应用程序从多个来源收集照片,其中每张照片(url)都使用发布图像时的时间戳作为优先级添加到 Firebase 结构中:

下一个任务是能够按时间顺序或受欢迎程度(喜欢)显示图像列表。

child_added使用事件以及按时间顺序列出和分页它们是相当简单的startAtlimit但是我不确定在按受欢迎程度查看它们时应该如何构造和查询我的数据。

我想到了一些方法,但它们都很粗糙:

  • 获取每张图片并在客户端进行排序和分页(最多有一千张图片)
  • 创建另一个 Firebase 数据结构,该结构按受欢迎程度(如 count )进行优先级排序,并将实际数据的值作为引用指针。
0 投票
1 回答
656 浏览

real-time - Firebase 数据结构

我正在尝试创建一个“用户”列表。但我无法复制文档https://www.firebase.com/images/data_structure.png中的结构方式。

相反,我的结构有一个用户,其子节点具有一些原始文本。https://www.evernote.com/shard/s52/sh/21c878d6-4978-440c-a089-10da4fb6d792/2d0d7a90861ef6f94e425fdb904b8ab2相反,我希望将子节点命名为“john”、“terry”等,如您的文档中所示。

希望这是有道理的。谢谢

0 投票
1 回答
2518 浏览

firebase - authClient.login 返回错误并显示“未经授权的请求来源”

这只是在过去几天内开始发生的,我的代码没有改变。我犯了一个错误,还是这是新的?

似乎这意味着我应该在 firebase forge 的安全规则中添加一条规则,以允许从我正在处理的域(在本例中为 localhost)进行访问,但我不知道在哪里可以找到该文档。

任何人都可以帮忙吗?我如何克服这个错误?