すでにユーザーリストに電子メールアドレスが登録されている認証済みユーザーにのみ書き込み許可を許可したいとします。Firebase認証ルールでメールを確認する
{
"users" : {
"-KeZg-MuD-4TEOiW9i0_" : {
"email" : "[email protected]"
}
}
}
私はこのようなルールを使用して試してみた:
"users": {
".write" : "root.child('users/email').val() === auth.token.email"
}
"users": {
".write" : "root.child('users.email').val() === auth.token.email"
}
"users": {
".write" : "root.child('users.email').child(auth.token.email).exists()"
}
"users": {
".write" : "root.child('users').child(auth.token.email).exists()"
}
をしかし無駄に
マイユーザーリストには、次のようになります。
firebase.database().ref('users').push({email: '[email protected]'})
上記の私のスニペットは[email protected]
を使用している代わりに、実際のGoogleは、ユーザーの電子メールアドレスを認証しますが、実際のユーザーは、私の中に存在している:私はこのような新しいユーザーを追加しようとすると、私はまだ許可拒否エラーを取得しますユーザーdbリスト。
あなたが期待したことをしなかったもののコード例を教えてもらえますか? –
私が追加した例に似たユーザーを追加しています。私はその後、許可を拒否されたエラーを取得します。 – okwme
あなたが共有したコードの多くを作ることはできません。あなたの実際のJSONを(あなたのルールが 'root'に対してチェックしているので)テキストとして共有できますか? [Firebaseデータベースコンソール](https://console.firebase.google.com/project/_/database/data/)の「JSONの書き出し」をクリックすると表示されます –