قوانین امنیتی Firebase را به سرعت تأیید کنید

برای آزمایش سریع Firebase Security Rules خود در کنسول Firebase ، از Rules Playground استفاده کنید.

«زمین بازی قوانین» ابزاری مناسب برای استفاده در هنگام بررسی رفتارهای جدید یا اعتبارسنجی سریع قوانین هنگام نوشتن آنهاست. این ابزار پیامی را نمایش می‌دهد که تأیید می‌کند دسترسی طبق پارامترهایی که برای شبیه‌سازی تنظیم کرده‌اید، مجاز یا غیرمجاز بوده است.

از زمین بازی قوانین استفاده کنید

  1. کنسول Firebase را باز کنید و پروژه خود را انتخاب کنید.
  2. سپس، از منوی ناوبری محصول، یکی از موارد زیر را انجام دهید:
    • در صورت لزوم، Realtime Database ، Cloud Firestore یا Storage را انتخاب کنید، سپس برای رفتن به ویرایشگر Rules ، روی Rules کلیک کنید.
  3. پس از انجام ویرایش‌های خود، از ویرایشگر روی Rules Playground کلیک کنید.
  4. در تنظیمات Rules Playground ، گزینه‌هایی را برای آزمون خود انتخاب کنید، از جمله:
    • تست خواندن یا نوشتن.
    • یک مکان خاص در پایگاه داده یا مخزن ذخیره‌سازی شما، به عنوان یک مسیر.
    • نوع احراز هویت — کاربر ناشناس احراز هویت نشده، احراز هویت شده یا یک شناسه کاربری خاص.
    • داده‌های خاص سند که قوانین شما به طور خاص به آنها اشاره می‌کنند (برای مثال، اگر قوانین شما قبل از اجازه نوشتن، وجود یک فیلد خاص را الزامی می‌دانند).
  5. روی «اجرا» کلیک کنید و نتایج را در بنر بالای ویرایشگر جستجو کنید.

سناریوی نمونه قوانین زمین بازی

رفتار «قوانین زمین بازی» را با سناریوی نمونه و قوانین اساسی زیر آزمایش کنید.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Realtime Database

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Cloud Storage

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • در ویرایشگر Rules ، قانون داده شده را اضافه کنید.

  • از منوی کشویی Simulation type گزینه get را انتخاب کنید و در فیلد Location یک مسیر معتبر وارد کنید.

  • گزینه احراز هویت (Authentication) را فعال کنید و از منوی کشویی Provider، نوع احراز هویت را انتخاب کنید.

  • جزئیات شناسه کاربری را وارد کنید و روی اجرا کلیک کنید.

نتایج شبیه‌سازی در بالای ویرایشگر ظاهر می‌شود. بسته به جزئیات شناسه کاربری که وارد کرده‌اید، باید بنری را ببینید که تأیید می‌کند خواندن با موفقیت مجاز یا رد شده است.