我正在使用 Firebase 简单登录的电子邮件/密码身份验证选项。
我将用户的数据与转义的电子邮件一起存储为键,其中“。” 字符已替换为“,”(因为 Firebase 不允许将“。”存储在键中),而不是使用用户 ID 作为键。问题是,在安全规则中,我不能使用正则表达式针对 auth.email 变量对转义的电子邮件进行身份验证。所以我不能做以下事情:
users: {
$user: {
".read": "auth.email == $user",
".write": "auth.email == $user"
}
}
因为每个 $user 看起来像 'some,one@domain,co,uk' 而 auth.email 是 'some.one@domain.co.uk'。
有没有办法解决这个问题?我是否需要将用户 ID 存储在每个 $user 中以使用户身份验证成为可能?在这种情况下,我想将用户数据简单地存储在基于 id 的节点中而不是转义的电子邮件中会更容易。