Firebase Simple Login のメール/パスワード認証オプションを使用しています。
エスケープされた電子メールをキーとしてユーザーのデータを保存します。ユーザー ID をキーとして使用するのではなく、文字を「,」に置き換えました (Firebase では「.」をキーに格納できないため)。問題は、セキュリティ ルールで正規表現を使用して、エスケープされた電子メールを 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' です。
この問題を回避する方法はありますか? ユーザーごとの認証を可能にするために、各 $user 内にユーザー ID を保存する必要がありますか? この場合、エスケープされた電子メールではなく、ID ベースのノードにユーザー データを格納する方が簡単だと思います。