الواجهة: طلب

ملكيات

مصادقة

القواعد.خريطة

طلب سياق المصادقة.

  • uid - المعرف الفريد (UID) للمستخدم الطالب.
  • token - خريطة لمطالبات رمز JWT.

تحتوي خريطة token على القيم التالية:


مجال وصف
"البريد الإلكتروني". عنوان البريد الإلكتروني المرتبط بالحساب، إن وجد.
"تم التحقق من البريد الإلكتروني". "صحيح" إذا كان المستخدم قد تحقق من أن لديه حق الوصول إلى عنوان "البريد الإلكتروني".
`رقم_الهاتف` رقم الهاتف المرتبط بالحساب إن وجد.
"الاسم". اسم العرض الخاص بالمستخدم، إذا تم تعيينه.
"فرعي". معرف Firebase UID الخاص بالمستخدم. هذا فريد من نوعه داخل المشروع.
"firebase.identities". خريطة لجميع الهويات المرتبطة بحساب هذا المستخدم. يمكن أن تكون مفاتيح الخريطة أيًا مما يلي: `email`، `phone`، `google.com`، `facebook.com`، `github.com`، `twitter.com`. قيم الخريطة عبارة عن قوائم معرفات فريدة لكل موفر هوية مرتبط بالحساب. على سبيل المثال، يحتوي `request.auth.token.firebase.identities["google.com"][0]` على أول معرف مستخدم Google مرتبط بالحساب.
`firebase.sign_in_provider` موفر تسجيل الدخول المستخدم للحصول على هذا الرمز المميز. يمكن أن تكون إحدى السلاسل التالية: `custom`، `password`، `phone`، `anonymous`، `google.com`، `facebook.com`، `github.com`، `twitter.com`.
"firebase.tenant". معرف المستأجر المرتبط بالحساب، إذا كان موجودًا. على سبيل المثال "tenant2-m6tyz".

طريقة

قواعد غير فارغة.String

طريقة الطلب. واحد من:

  • get
  • list
  • create
  • update
  • delete

طريق

قواعد غير فارغة.Path

مسار المورد المتأثر.

استفسار

قواعد غير فارغة.Map

خريطة لخصائص الاستعلام، في حالة وجودها.

  • limit - شرط حد الاستعلام.
  • offset - جملة إزاحة الاستعلام.
  • orderBy - جملة الاستعلام orderBy.

مثال

// Limit documents per request to 50
allow list: if request.query.limit <= 50

الموارد

قواعد غير فارغة.firestore.Resource

قيمة المورد الجديدة، موجودة في طلبات الكتابة فقط.

وقت

قواعد غير فارغة.الطابع الزمني

عندما تم استلام الطلب من قبل الخدمة.

بالنسبة لعمليات الكتابة في Firestore التي تتضمن طوابع زمنية من جانب الخادم، ستكون هذه المرة مساوية للطابع الزمني للخادم.

مثال

// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField