Flutter'da Firestore ile Firebase Auth nasıl kullanılır?

Sep 06 2020

Ben dayalı bir çarpıntı uygulaması vardır cloud_firestore ve firebase_auth , ben kullanıcı ekleyin tarafından (mavi düğme) Kimlik Firebase ve muhafaza kimliğini yani bu kullanıcı olduğunu kodunda yönetici , düzenli kullanıcılar uygulama (e-posta ve şifre) tarafından bir hesap oluşturabilirsiniz , İstediğim, yöneticinin veri tabanından verileri silebilecek tek kişi olduğundan emin olmaktır , oysa geri kalan kullanıcıların yalnızca okuma ve yazma izni vardır, ben de şunu yaptım:

Cloud Firestore projemdeki rolleri şu şekilde değiştirdim :

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
      allow delete : if request.auth.uid == 'psqxVzX6BvYCuWbajhcEK1QGZOo1';
    }
  }
}

Bu doğru mu değil mi ve Firebase kullanıcı kimliğine nasıl duyarlı olabilir ?

Belki benim sorum nasıl gönderileceği olan uid ile firestoreistek.

Şimdiden teşekkür ederim

Yanıtlar

1 FrankvanPuffelen Sep 06 2020 at 21:21
  1. Bir writekuralınız varsa, bu kurallar oluşturma, güncelleme ve silme işlemlerine izin verir.
  2. Aynı işlem için birden fazla kuralınız varsa, bunlar birlikte OR'lanır.

Bu, allow read, write: if request.auth != nullkimliği doğrulanmış herhangi bir kullanıcının veritabanındaki herhangi bir belgeyi oluşturmasına, güncellemesine ve silmesine izin verdiğiniz anlamına gelir .

Yalnızca kimliği doğrulanmış herhangi bir kullanıcının bir belge oluşturmasına veya güncellemesine izin vermek, ancak yalnızca o belirli UID'ye sahip olan kullanıcının belgeleri silmesini istiyorsanız, bu işlemleri açıkça adlandırmanız gerekir:

allow read, create, update: if request.auth != null;
allow delete: if request.auth.uid == 'psqxVzX6BvYCuWbajhcEK1QGZOo1';

Tam bilgi için ayrıntılı işlemlerle ilgili belgelere bakın .