0

そのため、すべてが異なるベンダーに属するオブジェクトのリストを含む Firebase があります。ルールを使用して場所へのアクセスを制限しました:

{
  "rules": {
    "purchases": {
      ".indexOn": "code",
      "$purchaseId": {
        ".read": "root.child('vendors').child(data.child('vendor').val()).child('id').val() == auth.uid",
        ".write": "root.child('vendors').child(data.child('vendor').val()).child('id').val() == auth.uid"        
      }
    }
}

このルールは、シミュレーターで期待どおりに機能します。

ログインしているベンダーとして購入に対してクエリを実行し、購入のみを取得したいと考えています。完全な管理者アクセス (つまり、トークン ベースの認証ログインから) がある場合、クエリ自体は正常に機能しますが、ベンダー (電子メール/パスワード) ログインからは機能しません。

これは不可能ですか?

ログインが許可されているすべての購入を返品したいだけです。

私のクエリはこのようなものです

var ref = new Firebase("https://example.firebaseio.com");
var query = ref.orderByChild("vendor").equalTo(vendorId);
query.on("child_added", function(purchases) {
  console.log(purchases.val());
});

Firebase を再構築せずにこれを達成する別の方法はありますか?

4

0 に答える 0