แพ็คเกจ 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
เมื่อคุณดาวน์โหลดไฟล์ 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 API โดยการตรวจสอบตัวแปรสภาพแวดล้อมบางอย่างและพิจารณาเส้นทางที่รู้จักของ Google
หากคุณไม่ต้องการให้บัญชีบริการถูกค้นพบโดยอัตโนมัติ ให้ระบุโดยการตั้งค่าตัวแปรสภาพแวดล้อม FIREBASE_CREDENTIALS
หรือ GOOGLE_APPLICATION_CREDENTIALS
หรือโดยการปรับการกำหนดค่าแพ็กเกจ เช่น:
FIREBASE_CREDENTIALS = storage/app/firebase-auth.json
หากคุณต้องการควบคุมรายการการกำหนดค่าที่จำเป็นในการกำหนดค่าข้อมูลประจำตัวได้มากขึ้น คุณยังสามารถย้ายไฟล์ 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 SDK สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้งาน
คุณไม่จำเป็นและไม่ควรใช้รูปแบบ new Factory()
ที่อธิบายไว้ในเอกสาร SDK ซึ่งผู้ให้บริการ Laravel Service Provider ได้ทำสิ่งนี้ให้คุณแล้ว ใช้ Dependency Injection, Facades หรือ app()
helper แทน
คุณสามารถกำหนดค่าหลายโปรเจ็กต์ใน 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 ();
Only the latest version is actively supported.
เวอร์ชันก่อนหน้าจะได้รับการแก้ไขด้านความปลอดภัยตราบใดที่ข้อกำหนด SDK ต่ำสุด ได้รับการแก้ไขด้านความปลอดภัย คุณสามารถค้นหาเวอร์ชันที่รองรับและตัวเลือกการสนับสนุนในปัจจุบันได้ใน README ของ SDK
เวอร์ชัน | การเปิดตัวครั้งแรก | เวอร์ชัน SDK ที่รองรับ | เวอร์ชัน Laravel ที่รองรับ | สถานะ |
---|---|---|---|---|
5.x | 13 มกราคม 2023 | ^7.0 | ^9.0 , ^10.0 , ^11.0 | คล่องแคล่ว |
4.x | 09 ม.ค. 2565 | ^6.0 | ^8.0 | บั้นปลายชีวิต |
3.x | 01 พ.ย. 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | บั้นปลายชีวิต |
2.x | 01 เม.ย. 2563 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | บั้นปลายชีวิต |
1.x | 17 ส.ค. 2562 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | บั้นปลายชีวิต |
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT
การใช้ Firebase ของคุณอยู่ภายใต้ข้อกำหนดในการให้บริการสำหรับบริการ Firebase