حزمة Laravel لـ Firebase PHP Admin SDK.
يرجى القراءة عن مستقبل Firebase Admin PHP SDK في مستودع GitHub الخاص بـ SDK.
composer require kreait/laravel-firebase
من أجل الوصول إلى مشروع Firebase والخدمات المرتبطة به باستخدام SDK للخادم، يجب أن تتم مصادقة الطلبات. بالنسبة للاتصال من خادم إلى خادم، يتم ذلك باستخدام حساب الخدمة.
إذا لم تكن قد أنشأت حساب خدمة بالفعل، فيمكنك القيام بذلك عن طريق اتباع الإرشادات الواردة في صفحات الوثائق الرسمية على https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments.
بمجرد تنزيل ملف Service Account JSON، يمكنك تكوين الحزمة عن طريق تحديد متغيرات البيئة التي تبدأ بـ FIREBASE_
في ملف .env
الخاص بك. عادةً ما يكون ما يلي مطلوبًا لكي تعمل الحزمة:
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://.firebaseio.com
لمزيد من التكوين، يرجى مراجعة config/firebase.php. يمكنك تعديل التكوين عن طريق نسخه إلى دليل config
المحلي الخاص بك أو عن طريق تحديد متغيرات البيئة المستخدمة في ملف التكوين:
# Laravel
php artisan vendor:publish --provider= " KreaitLaravelFirebaseServiceProvider " --tag=config
تستخدم الحزمة الاكتشاف التلقائي للمشروع الافتراضي للعثور على بيانات الاعتماد اللازمة لمصادقة الطلبات إلى واجهات برمجة تطبيقات Firebase من خلال فحص متغيرات بيئة معينة والنظر في المسار (المسارات) المعروفة لدى Google.
إذا كنت لا تريد اكتشاف حساب الخدمة تلقائيًا، فقم بتوفيره عن طريق تعيين متغير البيئة FIREBASE_CREDENTIALS
أو GOOGLE_APPLICATION_CREDENTIALS
أو عن طريق تعديل تكوين الحزمة، كما هو الحال على سبيل المثال:
FIREBASE_CREDENTIALS = storage/app/firebase-auth.json
إذا كنت تفضل الحصول على مزيد من التحكم في عناصر التكوين المطلوبة لتكوين بيانات الاعتماد، فيمكنك أيضًا تبديل ملف Service Account JSON كمصفوفة داخل ملف config/firebase.php
.
' credentials ' => [
' type ' => ' service_account ' ,
' project_id ' => ' some-project-123 ' ,
' private_key_id ' => ' 123456789 ' ,
' private_key ' => ' -----BEGIN PRIVATE KEY-----nFOO_BAR_123456789n-----END PRIVATE KEY-----n ' ,
' client_email ' => ' [email protected] ' ,
' client_id ' => ' 123456789 ' ,
' auth_uri ' => ' https://accounts.google.com/o/oauth2/auth ' ,
' token_uri ' => ' https://oauth2.googleapis.com/token ' ,
' auth_provider_x509_cert_url ' => ' https://www.googleapis.com/oauth2/v1/certs ' ,
' client_x509_cert_url ' => ' https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-cwiuo%40some-project-123.iam.gserviceaccount.com ' ,
' universe_domain ' => ' googleapis.com ' ,
],
بمجرد استرداد أحد المكونات، يرجى الرجوع إلى وثائق Firebase PHP Admin SDK للحصول على مزيد من المعلومات حول كيفية استخدامه.
لا تحتاج ولا يجب أن تستخدم نمط new Factory()
الموضح في وثائق SDK، وقد تم ذلك بالفعل من أجلك مع موفر خدمة Laravel. استخدم حقن التبعية أو الواجهات أو المساعد app()
بدلاً من ذلك
يمكن تكوين مشاريع متعددة في config/firebase.php عن طريق إضافة قسم آخر إلى مصفوفة المشاريع.
عند الوصول إلى المكونات، تستخدم الواجهة المشروع الافتراضي. يمكنك أيضًا استخدام المشروع بشكل صريح:
use Kreait Laravel Firebase Facades Firebase ;
// Return an instance of the Auth component for the default Firebase project
$ defaultAuth = Firebase:: auth ();
// Return an instance of the Auth component for a specific Firebase project
$ appAuth = Firebase:: project ( ' app ' )-> auth ();
$ anotherAppAuth = Firebase:: project ( ' another-app ' )-> auth ();
يتم دعم الإصدار الأحدث فقط بشكل فعال.
ستتلقى الإصدارات السابقة إصلاحات أمنية طالما أن أدنى متطلبات SDK الخاصة بها تتلقى إصلاحات أمنية. يمكنك العثور على الإصدارات المدعومة حاليًا وخيارات الدعم في الملف README الخاص بـ SDK.
إصدار | الإصدار الأولي | إصدارات SDK المدعومة | إصدارات لارافيل المدعومة | حالة |
---|---|---|---|---|
5.x | 13 يناير 2023 | ^7.0 | ^9.0 ، ^10.0 ، ^11.0 | نشيط |
4.x | 09 يناير 2022 | ^6.0 | ^8.0 | نهاية الحياة |
3.x | 01 نوفمبر 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | نهاية الحياة |
2.x | 01 أبريل 2020 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | نهاية الحياة |
1.x | 17 أغسطس 2019 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | نهاية الحياة |
هذا المشروع مرخص بموجب ترخيص MIT.
يخضع استخدامك لـ Firebase لشروط الخدمة الخاصة بخدمات Firebase.