Javascript Firebase编辑规则为不同的客户端脚本授予不同的功能(即没有服务器的.auth)

Javascript Firebase编辑规则为不同的客户端脚本授予不同的功能(即没有服务器的.auth),javascript,security,firebase,Javascript,Security,Firebase,经过广泛的搜索(大约一个月),我终于放弃了。然而,我想我还是会问,因为,谁知道,也许有人以前做过这件事 为了方便起见,我有两个js脚本,分别标记为client和server。我还有两个Firebase数据库:客户端输入和服务器输出。其思想是,客户机将请求写入客户机输入,服务器读取客户机输入->处理数据->写入服务器输出,客户机读取服务器输出->将数据呈现给用户。这很好用 问题是我不知道如何根据脚本类型限制读/写功能。我试着使用auth和Firebase_secret,但显然你需要一个服务器。最终

经过广泛的搜索(大约一个月),我终于放弃了。然而,我想我还是会问,因为,谁知道,也许有人以前做过这件事

为了方便起见,我有两个js脚本,分别标记为client和server。我还有两个Firebase数据库:客户端输入和服务器输出。其思想是,客户机将请求写入客户机输入,服务器读取客户机输入->处理数据->写入服务器输出,客户机读取服务器输出->将数据呈现给用户。这很好用

问题是我不知道如何根据脚本类型限制读/写功能。我试着使用auth和Firebase_secret,但显然你需要一个服务器。最终,我希望实现以下规则:

client_input { ".read": "server === true", ".write": "true" }

server_output { ".read": "true", ".write": "server === true" }

您可以使用GitHub()上的firebase令牌生成器之一和firebase secret创建访问令牌。有多种语言的生成器,您只需要为每个进程创建一个生成器,然后使用它来进行身份验证,而不是秘密。执行此操作时,您可以访问使用安全规则中的
auth
变量创建令牌时放入令牌中的任何数据


例如,您可以创建两个令牌-一个具有
{“uid”:“client”}
,另一个具有
{“uid”:“server”}
,然后在规则引用中写入“
”!根据你的建议,我终于找到了一台发电机。然后,在各自的脚本中嵌入正确的标记是一个简单的问题。谢谢更正式的令牌生成器位于此处: