问题标签 [firebase-security]
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.
backbone.js - 在 Firebase 中实施“读取”和“写入”安全规则
在我的应用程序中,我想要一个“可以阅读”和一个“可以写”的视图。当应用程序在没有现有参数的情况下启动(“第一次用户”)时,会创建 2 个随机哈希值,连同 firebase 应用程序机密,将它们发布到 PHP FirebaseTokenGenerator 以接收我的令牌。
然后我想这样做:
- 第一个散列(“读取散列”)表示“匿名用户”条目
- 第二个散列(“写散列”)表示一个“键”,它是用户条目的子条目
看起来像这样:
哈希值可以用作 URL 参数,例如“myapp.com/#read_hash/write_hash”
我想要实现的是:
- 当用户只有他的 read_hash(只调用“myapp.com/#read_hash”)时,他应该能够看到他第一次输入的所有条目(让应用程序为他创建 write_hash /“key”)。但他不允许修改它们。
- 当他提供他的 write_hash(调用“myapp.com/#read_hash/write_hash”)时,允许写入 Firebase。
我的安全规则:
我的问题是:如何在没有我的安全规则“.write”阻止写入的情况下第一次存储 write_hash ?
任何其他想法如何实现这一目标?任何架构/不一致?
我正在使用这些库:
- 带有骨干-firebase.js 的骨干 JS
- FirebaseTokenGenerator PHP
提前致谢。
javascript - Firebase createUser 身份验证错误
所以我在firebase简单身份验证方面遇到了最奇怪的问题......
当我访问时localhost/#register
,填写表格,然后提交,我SERVER_ERROR
在authClient.createUser()
回调中得到一个。但是当我刷新页面并再次填写表格时,它可以工作了!
每次我重新启动服务器并尝试注册用户时,都会发生这种情况。
重申一下,我第一次执行它时出现服务器错误,但在我刷新页面后,一切都像魅力一样......这让我认为我错误地包含了 firebase 脚本,并且所有必要的文件都没有直到刷新才被包括在内,但我看不出哪里出错了。
更新:提交表单时出现此错误(出于隐私考虑):
错误来自firebase.js
第 51 - 63 行。
Stack - brunch.io 与骨干木偶。基本上它是一个 gruntJS 构建,带有咖啡脚本和一个 commonJS 包装器,用于非常简单的前端模块化。
index.html - 我在其中包含脚本
RegisterView.coffee - 我创建 authClient 并尝试创建一个新的 firebase 注册用户(主干模型被UserList
正确添加到集合中,然后与数据库正确同步,唯一的问题是createUser()
)
更新:我尝试将服务器从生产服务器更改-demo
为生产服务器,但没有任何区别。
angularjs - 带有firebase auth共享服务的angularjs
晕都,
我想将 angularjs 与 firebase 简单登录(facebook)一起使用。但我不知道如何创建身份验证共享服务。
我想做的是
- 创建身份验证服务
- 使用此身份验证服务检查用户是否在每个控制器中登录
- 控制器将执行
$location
如果用户登录/未登录
我也是 angularjs 的新手,但我不知道在这种情况下应该使用哪些服务。
service
还是factory
?
如何将以下代码放入角度服务中,然后告诉每个控制器用户是否登录?
这是我的猜测,如果存在,则从控制器中的 so返回user
值,然后重定向到登录页面,否则显示带有登录按钮的登录对话框以调用以下代码authService
authService.user
让我知道我是否可以这样做,或者有更好的方法吗?
angularjs - 如果用户登录/退出,firebase 如何告诉 angularjs
这是用户单击登录按钮时的代码片段,目前我成功的是。它将重定向到'page1'
,如果用户单击浏览器后退按钮到'/'
页面也会这样做。
现在的问题。如果用户在 注销page1
,假设它会重定向到 '/' 但即使用户单击浏览器后退按钮也不会。那么firebase如何告诉angularjs清除响应并返回'/'
页面?
php - firebase PHP:创建用户
我有需要从用户那里保存到 firebase 的数据。我的 Firebase 架构就像..
是否可以在 PHP 中创建一个新的 Firebase 用户,以便我可以使用生成的 user_id 来保存数据?
angularjs - 如何在单页应用程序中处理 Firebase 身份验证
我正在使用带有 angularjs 的 firebase 简单登录身份验证,我想创建一个单页应用程序。在此之前,我曾尝试使用service
,main controller
来处理它,但我认为这还不够好,因为每次有路由时我都必须调用 FirebaseAuthClient()。我还尝试将 FirebaseAuthClient() 放在 angularjs .run() 中,它会在应用程序启动时进行初始化。但是当有路由时它不起作用,我认为这是因为没有完整的页面加载。
好的,这就是我想要的,
- 除了登录页面,每个路由(页面)都需要登录。
- 全局 FirebaseAuthClient() 检查每条路线,所以我不需要再次调用它。
user
从 FirebaseAuthClient() 返回的全局变量
firebase - 通过 auth.id 获取数据的安全规则问题
我在正确设置安全规则时遇到问题,特别是阅读帖子数据。
数据层次结构如下:
我的规则是:
我知道“auth.id”是 6,因为它为我的用户信息正确地提取了规则。如果我更改规则以静态提取数字,它会起作用:
但使用 auth.id 不会。有什么我想念的吗?
javascript - firebase 安全 API 中的 parent() 方法
我想在 Firebase 安全中设置以下规则。要授权写入,我想确保 auth.user_id 与当前分支父级下名为“user_id”的 RulesDataSnapshot 相同
为此,我尝试编写以下 write_rule:
Firebase 安全 API 有一个关于 parent() 方法的部分。 https://www.firebase.com/docs/security/rulesdatasnapshot/parent.html
如示例所示,我使用了 parent() 方法。但是,我收到一个错误“没有这样的方法'父'”
任何帮助,将不胜感激
firebase - Firebase set() 回调只显示同步错误,但不显示安全规则错误?
关于Firebase set() 函数,有没有办法检测 set() 是否由于安全规则错误而失败?
示例代码(receives null
,表示成功,即使集合实际上由于安全规则而失败):
Firebase 文档说,回调仅在同步失败时才会收到错误,但对于安全规则来说,传递错误也会很有用。这样我就可以自信地告诉用户他们的数据已被保存。
有没有办法做到这一点?我想它对任何带有 onComplete 回调的读/写函数都很有用。
firebase - firebase 限制读取给单个孩子但不读取给父母
我有一个 Firebase 位置,其中所有应用程序存储的消息都作为子对象。
如果客户知道消息的 id 但不下载整个消息表,我希望他们能够获取每条消息。
这个安全规则是什么样的?
谢谢。