Firebase PHP Admin SDK용 Laravel 패키지입니다.
SDK의 GitHub 저장소에서 Firebase Admin PHP SDK의 미래에 대해 읽어보세요.
composer require kreait/laravel-firebase
서버 SDK를 사용하여 Firebase 프로젝트 및 관련 서비스에 액세스하려면 요청을 인증해야 합니다. 서버 간 통신의 경우 이는 서비스 계정을 통해 수행됩니다.
서비스 계정을 아직 생성하지 않은 경우 공식 문서 페이지(https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments)의 지침에 따라 생성할 수 있습니다.
서비스 계정 JSON 파일을 다운로드한 후에는 .env
파일에서 FIREBASE_
로 시작하는 환경 변수를 지정하여 패키지를 구성할 수 있습니다. 일반적으로 패키지가 작동하려면 다음이 필요합니다.
# 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
패키지는 기본 프로젝트에 대한 자동 검색을 사용하여 특정 환경 변수를 검사하고 Google의 잘 알려진 경로를 조사하여 Firebase API에 대한 요청을 인증하는 데 필요한 자격 증명을 찾습니다.
서비스 계정이 자동 검색되는 것을 원하지 않으면 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 Admin SDK 문서를 참조하세요.
SDK 문서에 설명된 new Factory()
패턴은 필요하지 않으며 사용해서도 안 됩니다. 이는 Laravel 서비스 공급자를 통해 이미 수행되었습니다. 대신 종속성 주입, Facades 또는 app()
도우미를 사용하세요.
프로젝트 배열에 다른 섹션을 추가하여 config/firebase.php에서 여러 프로젝트를 구성할 수 있습니다.
컴포넌트에 접근할 때 Facade는 기본 프로젝트를 사용합니다. 프로젝트를 명시적으로 사용할 수도 있습니다.
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 요구 사항이 보안 수정 사항을 받는 한 보안 수정 사항을 받게 됩니다. SDK의 README에서 현재 지원되는 버전과 지원 옵션을 확인할 수 있습니다.
버전 | 최초 출시 | 지원되는 SDK 버전 | 지원되는 Laravel 버전 | 상태 |
---|---|---|---|---|
5.x | 2023년 1월 13일 | ^7.0 | ^9.0 , ^10.0 , ^11.0 | 활동적인 |
4.x | 2022년 1월 9일 | ^6.0 | ^8.0 | 수명 종료 |
3.x | 2020년 11월 1일 | ^5.24 | ^6.0, ^7.0, ^8.0 | 수명 종료 |
2.x | 2020년 4월 1일 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | 수명 종료 |
1.x | 2019년 8월 17일 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | 수명 종료 |
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.
Firebase 사용에는 Firebase 서비스 서비스 약관이 적용됩니다.