Firebase实时数据库安全规则中的哈希算法支持

时间:2018-10-10 20:25:59

标签: firebase firebase-realtime-database firebase-security-rules

我想在安全规则内计算哈希函数。

md5hash(auth.token.email) === $hashedvalue

我有办法做到这一点吗?或本地在Firebase实时数据库中?

用例:

基本上,我想将电子邮件作为密钥存储在Firebase实时数据库中,并在Firebase安全规则中使用它进行身份验证和授权。由于键中不支持像点(。)这样的特殊字符,因此我想使用Firebase实时数据库中可用的某种哈希算法。

auth.id在我的情况下不起作用,因为我没有提供任何注册选项,因为我有一组预定义的用户,这些用户具有预定义的个人资料详细信息,可通过其Google登录信息访问我的应用程序(我知道的电子邮件ID作为开始,并且由于它们尚未登录我的应用程序,因此我没有相应的ID可以在首次尝试时对它们进行身份验证或授权。

2 个答案:

答案 0 :(得分:1)

This page of documentation显示了实时数据库安全规则中的所有可用功能。那里没有哈希函数。您可以file a feature request来解释您的用例。

答案 1 :(得分:0)

为了后代的缘故,我采用了一个小的解决方法来解决这个问题(是!)。

从fire firebase实时数据库文档中,我发现firebase安全规则支持名为“ replace” xD的惊人字符串函数。 因此,现在我在创建密钥之前,通过将所有不支持作为数据库密钥使用的字符替换为数据库密钥来预处理电子邮件ID,然后在我的Firebase安全规则中使用相同的替换集。