plokko / firebase-php
Firebase API php implementation
Installs: 66 709
Dependents: 1
Suggesters: 0
Security: 0
Stars: 16
Watchers: 4
Forks: 9
Open Issues: 4
Requires
- php: >=7.1
- firebase/php-jwt: ^6.4
- google/auth: ^1.29.0
- guzzlehttp/guzzle: ^7.4.2
- psr/cache: ^1.0||^2.0
README
Php implementation of Firebase API.
Why
This package is built to be simple, scalable and configurable to allow easy integration in other packages or frameworks (ex: laravel-firebase ).
This package uses google/auth
to generate OAuth2.0 tokens from the service account and guzzlehttp/guzzle
as http library.
Install
Install it with composer via
composer require plokko/firebase-php
Usage
All the calls on the API are made using a Firebase OAuth2.0 token, this token is generated using your ServiceAccount informations.
Service Account
To use the API you need to authenticate the requests with your service account:
this is done by the ServiceAccount
class that uses your Firebase ServiceAccount json credential file.
You can download your service account json file from the Firebase console in settings > service accounts, keep in mind to store this file in a secure non-public location.
use Plokko\Firebase\ServiceAccount; //Use one of those methods: $sa = new ServiceAccount('/path/to/your/serviceaccount/file.json'); $sa = new ServiceAccount('{"type":"service_account",..............}'); $sa = new ServiceAccount(['type'=>'service_account',/*...*/]);
Accepted methods for the constructor are:
- string: ServiceAccount file content (json string)
- string: path to the serviceAccount json file
- array: php-translated array of the service account content
You can also add a token cache handler via the setCacheHandler
method that accepts an implementation of CacheItemPoolInterface
to allow custom cache integrations.
see google/auth MemoryCacheItemPool for an example implementation:
$handler = new Google\Auth\Cache\MemoryCacheItemPool\MemoryCacheItemPool(); $sa->setCacheHandler($handler);
FCM
This package implements FCM Http v1 Api
Real time database
This package includes the Firebase Real time database API integration