Um pacote Laravel para o Firebase PHP Admin SDK.
Leia sobre o futuro do Firebase Admin PHP SDK no repositório GitHub do SDK.
composer require kreait/laravel-firebase
Para acessar um projeto do Firebase e seus serviços relacionados usando um SDK de servidor, as solicitações devem ser autenticadas. Para comunicação entre servidores, isso é feito com uma conta de serviço.
Se você ainda não gerou uma conta de serviço, poderá fazê-lo seguindo as instruções das páginas de documentação oficial em https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments.
Depois de fazer download do arquivo JSON da conta de serviço, você poderá configurar o pacote especificando variáveis de ambiente começando com FIREBASE_
em seu arquivo .env
. Normalmente, o seguinte é necessário para que o pacote funcione:
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://.firebaseio.com
Para configurações adicionais, consulte config/firebase.php. Você pode modificar a configuração copiando-a para o diretório config
local ou definindo as variáveis de ambiente usadas no arquivo de configuração:
# Laravel
php artisan vendor:publish --provider= " KreaitLaravelFirebaseServiceProvider " --tag=config
O pacote usa descoberta automática para o projeto padrão para encontrar as credenciais necessárias para autenticar solicitações para as APIs do Firebase, inspecionando determinadas variáveis de ambiente e examinando os caminhos conhecidos do Google.
Se você não deseja que uma conta de serviço seja descoberta automaticamente, forneça-a definindo a variável de ambiente FIREBASE_CREDENTIALS
ou GOOGLE_APPLICATION_CREDENTIALS
ou adaptando a configuração do pacote, como por exemplo:
FIREBASE_CREDENTIALS = storage/app/firebase-auth.json
Se preferir ter mais controle sobre os itens de configuração necessários para configurar as credenciais, você também pode transpor o arquivo JSON da conta de serviço como uma matriz dentro do seu arquivo 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 ' ,
],
Depois de recuperar um componente, consulte a documentação do Firebase PHP Admin SDK para obter mais informações sobre como usá-lo.
Você não precisa e não deve usar o new Factory()
descrito na documentação do SDK, isso já é feito para você com o Laravel Service Provider. Use Injeção de Dependência, Facades ou o auxiliar app()
Vários projetos podem ser configurados em config/firebase.php adicionando outra seção ao array de projetos.
Ao acessar os componentes, a fachada utiliza o projeto padrão. Você também pode usar explicitamente um projeto:
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 ();
Apenas a versão mais recente tem suporte ativo.
As versões anteriores receberão correções de segurança, desde que o requisito mais baixo do SDK receba correções de segurança. Você pode encontrar as versões e opções de suporte atualmente suportadas no README do SDK.
Versão | Lançamento Inicial | Versões do SDK suportadas | Versões suportadas do Laravel | Status |
---|---|---|---|---|
5.x | 13 de janeiro de 2023 | ^7.0 | ^9.0 , ^10.0 , ^11.0 | Ativo |
4.x | 09 de janeiro de 2022 | ^6.0 | ^8.0 | Fim da vida |
3.x | 01 de novembro de 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | Fim da vida |
2.x | 01 de abril de 2020 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | Fim da vida |
1.x | 17 de agosto de 2019 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | Fim da vida |
Este projeto está licenciado sob a licença MIT.
O uso do Firebase é regido pelos Termos de Serviço dos Serviços do Firebase.