diff --git a/composer.json b/composer.json index a8582f1..a5ff8bb 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,12 @@ { - "name": "kreait/laravel-firebase", + "name": "cybrary/laravel-firebase", "description": "A Laravel package for the Firebase PHP Admin SDK", - "keywords": ["laravel", "firebase", "fcm", "gcm"], + "keywords": [ + "laravel", + "firebase", + "fcm", + "gcm" + ], "type": "library", "license": "MIT", "authors": [ @@ -11,10 +16,10 @@ } ], "require": { - "php": "^7.2|~8.0.0", - "kreait/firebase-php": "^5.18", - "illuminate/contracts": "^6.0|^7.0|^8.0", - "illuminate/support": "^6.0|^7.0|^8.0" + "php": "^7.2|~8.0.0| ^8.1", + "kreait/firebase-php": "^6.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0" }, "require-dev": { "orchestra/testbench": "^4.0|^5.0|^6.0", @@ -42,6 +47,7 @@ "aliases": { "Firebase": "Kreait\\Laravel\\Firebase\\Facades\\Firebase", "FirebaseAuth": "Kreait\\Laravel\\Firebase\\Facades\\FirebaseAuth", + "FirebaseIdentityPlatform": "Kreait\\Laravel\\Firebase\\Facades\\FirebaseIdentityPlatform", "FirebaseDatabase": "Kreait\\Laravel\\Firebase\\Facades\\FirebaseDatabase", "FirebaseDynamicLinks": "Kreait\\Laravel\\Firebase\\Facades\\FirebaseDynamicLinks", "FirebaseFirestore": "Kreait\\Laravel\\Firebase\\Facades\\FirebaseFirestore", @@ -50,5 +56,11 @@ "FirebaseStorage": "Kreait\\Laravel\\Firebase\\Facades\\FirebaseStorage" } } - } + }, + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/Cybrary/firebase-php" + } + ] } diff --git a/src/Facades/FirebaseIdentityPlatform.php b/src/Facades/FirebaseIdentityPlatform.php new file mode 100644 index 0000000..39b5e6f --- /dev/null +++ b/src/Facades/FirebaseIdentityPlatform.php @@ -0,0 +1,19 @@ +auth; } + public function identityPlatform(): Firebase\IdentityPlatform + { + if (!$this->identityPlatform) { + $this->identityPlatform = $this->factory->createIdentityPlatform(); + } + + return $this->identityPlatform; + } + + public function database(): Firebase\Contract\Database { if (!$this->database) { diff --git a/src/FirebaseProjectManager.php b/src/FirebaseProjectManager.php index 9c33d80..217fc1f 100644 --- a/src/FirebaseProjectManager.php +++ b/src/FirebaseProjectManager.php @@ -83,9 +83,15 @@ protected function configure(string $name): FirebaseProject if ($defaultStorageBucket = $config['storage']['default_bucket'] ?? null) { $factory = $factory->withDefaultStorageBucket($defaultStorageBucket); } + if ($logChannel = $config['logging']['http_debug_log_channel'] ?? null) { + $factory = $factory->withHttpDebugLogger( + $this->app->make('log')->channel($logChannel) + ); + } if ($config['debug'] ?? false) { - $factory = $factory->withEnabledDebug(); + $logger = $this->app->make('log')->channel($logChannel ?? null); + $factory = $factory->withEnabledDebug($logger); } if ($cacheStore = $config['cache_store'] ?? null) { @@ -100,11 +106,7 @@ protected function configure(string $name): FirebaseProject ); } - if ($logChannel = $config['logging']['http_debug_log_channel'] ?? null) { - $factory = $factory->withHttpDebugLogger( - $this->app->make('log')->channel($logChannel) - ); - } + $options = HttpClientOptions::default(); diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 701c4c6..4dc50cd 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -78,6 +78,11 @@ private function registerComponents(): void return $app->make(FirebaseProjectManager::class)->project()->storage(); }); $this->app->alias(Firebase\Storage::class, 'firebase.storage'); + + $this->app->singleton(Firebase\IdentityPlatform::class, static function (Container $app) { + return $app->make(FirebaseProjectManager::class)->project()->identityPlatform(); + }); + $this->app->alias(Firebase\IdentityPlatform::class, 'firebase.identity_platform'); } private function registerManager(): void