を否定し、私はauth.uid
が読み出される場合、私は理解していないが、security quickstart guideリアルタイムデータベース認証:失敗:DatabaseError:許可が
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
からこれらのルールを使用したいですか?
下記のような場合に情報を保存することができますので、問題はauth.id
であることを確認できます。私はそれをパラメータなどに渡す必要があるかどうかはわかりません。これが私が失われている場所だと私は恐れている。
{
"rules": {
"users": {
"$uid": {
".read": true,
".write": true
}
}
}
}
これは私がそれをテストするために使用しています現在のJavaコードです:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
User u = new User("Jack", "[email protected]", "12345678"); // Very simple class holding this user information
myRef.child("users").child(mFirebaseUser.getUid()).setValue(u);
私はfirebasesリアルタイムデータベース上の情報を見ていたが、彼らは単に認証に彼らを取得するたびにされてきました「今のところは認証を無効にしますが、実稼働環境で確実に使用するようにしてください」と言います。
セキュリティルールの 'auth'変数については、https://firebase.google.com/docs/database/security/user-security#section-variableを参照してください。ユーザーがログインすると、自動的に読み込まれます。ログインしたユーザーの一意の識別子である 'uid'プロパティが含まれています。 –
あなたが共有したコードはユーザを認証しないので、このルールは '$ uid === auth.uid'に失敗します。ユーザーにログインする方法については、https://firebase.google.com/docs/auth/ –
はい、申し訳ありません。このアクティビティの意図を認証するLoginActivityがあります。私は、問題が私が別のアクティビティでユーザーを認証していると考えて、それがどうにかして "認証された"状態を失うと考えていると思います。 – jackdh