0

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 ベースのノードにユーザー データを格納する方が簡単だと思います。

4

1 に答える 1