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

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

Rules Playground ابزاری مناسب برای استفاده در زمانی است که در حال بررسی رفتارهای جدید یا تأیید سریع قوانین هنگام نوشتن آنها هستید. پیغامی را نشان می دهد که تأیید می کند که دسترسی مطابق با پارامترهایی که برای شبیه سازی تنظیم کرده اید مجاز یا رد شده است.

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

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

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

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

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>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • در ویرایشگر Rules ، قانون ارائه شده در بالا را اضافه کنید.

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

  • احراز هویت را تغییر دهید و یک نوع احراز هویت را از فهرست کشویی Provider انتخاب کنید.

  • مشخصات شناسه کاربری را وارد کنید و روی Run کلیک کنید.

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