| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- <?php
- declare(strict_types=1);
- return [
- /*
- * ------------------------------------------------------------------------
- * Default Firebase project
- * ------------------------------------------------------------------------
- */
- 'default' => env('FIREBASE_PROJECT', 'app'),
- /*
- * ------------------------------------------------------------------------
- * Firebase project configurations
- * ------------------------------------------------------------------------
- */
- 'projects' => [
- 'app' => [
- /*
- * ------------------------------------------------------------------------
- * Credentials / Service Account
- * ------------------------------------------------------------------------
- *
- * In order to access a Firebase project and its related services using a
- * server SDK, requests must be authenticated. For server-to-server
- * communication this is done with a Service Account.
- *
- * If you don't already have generated a Service Account, you can do so by
- * following the instructions from the official documentation pages at
- *
- * https://firebase.google.com/docs/admin/setup#initialize_the_sdk
- *
- * Once you have downloaded the Service Account JSON file, you can use it
- * to configure the package.
- *
- * If you don't provide credentials, the Firebase Admin SDK will try to
- * auto-discover them
- *
- * - by checking the environment variable FIREBASE_CREDENTIALS
- * - by checking the environment variable GOOGLE_APPLICATION_CREDENTIALS
- * - by trying to find Google's well known file
- * - by checking if the application is running on GCE/GCP
- *
- * If no credentials file can be found, an exception will be thrown the
- * first time you try to access a component of the Firebase Admin SDK.
- *
- */
- 'credentials' => env('FIREBASE_CREDENTIALS', env('GOOGLE_APPLICATION_CREDENTIALS')),
- /*
- * ------------------------------------------------------------------------
- * Firebase Auth Component
- * ------------------------------------------------------------------------
- */
- 'auth' => [
- 'tenant_id' => env('FIREBASE_AUTH_TENANT_ID'),
- ],
- /*
- * ------------------------------------------------------------------------
- * Firestore Component
- * ------------------------------------------------------------------------
- */
- 'firestore' => [
- /*
- * If you want to access a Firestore database other than the default database,
- * enter its name here.
- *
- * By default, the Firestore client will connect to the `(default)` database.
- *
- * https://firebase.google.com/docs/firestore/manage-databases
- */
- // 'database' => env('FIREBASE_FIRESTORE_DATABASE'),
- ],
- /*
- * ------------------------------------------------------------------------
- * Firebase Realtime Database
- * ------------------------------------------------------------------------
- */
- 'database' => [
- /*
- * In most of the cases the project ID defined in the credentials file
- * determines the URL of your project's Realtime Database. If the
- * connection to the Realtime Database fails, you can override
- * its URL with the value you see at
- *
- * https://console.firebase.google.com/u/1/project/_/database
- *
- * Please make sure that you use a full URL like, for example,
- * https://my-project-id.firebaseio.com
- */
- 'url' => env('FIREBASE_DATABASE_URL'),
- /*
- * As a best practice, a service should have access to only the resources it needs.
- * To get more fine-grained control over the resources a Firebase app instance can access,
- * use a unique identifier in your Security Rules to represent your service.
- *
- * https://firebase.google.com/docs/database/admin/start#authenticate-with-limited-privileges
- */
- // 'auth_variable_override' => [
- // 'uid' => 'my-service-worker'
- // ],
- ],
- 'dynamic_links' => [
- /*
- * Dynamic links can be built with any URL prefix registered on
- *
- * https://console.firebase.google.com/u/1/project/_/durablelinks/links/
- *
- * You can define one of those domains as the default for new Dynamic
- * Links created within your project.
- *
- * The value must be a valid domain, for example,
- * https://example.page.link
- */
- 'default_domain' => env('FIREBASE_DYNAMIC_LINKS_DEFAULT_DOMAIN'),
- ],
- /*
- * ------------------------------------------------------------------------
- * Firebase Cloud Storage
- * ------------------------------------------------------------------------
- */
- 'storage' => [
- /*
- * Your project's default storage bucket usually uses the project ID
- * as its name. If you have multiple storage buckets and want to
- * use another one as the default for your application, you can
- * override it here.
- */
- 'default_bucket' => env('FIREBASE_STORAGE_DEFAULT_BUCKET'),
- ],
- /*
- * ------------------------------------------------------------------------
- * Caching
- * ------------------------------------------------------------------------
- *
- * The Firebase Admin SDK can cache some data returned from the Firebase
- * API, for example Google's public keys used to verify ID tokens.
- *
- */
- 'cache_store' => env('FIREBASE_CACHE_STORE', 'file'),
- /*
- * ------------------------------------------------------------------------
- * Logging
- * ------------------------------------------------------------------------
- *
- * Enable logging of HTTP interaction for insights and/or debugging.
- *
- * Log channels are defined in config/logging.php
- *
- * Successful HTTP messages are logged with the log level 'info'.
- * Failed HTTP messages are logged with the log level 'notice'.
- *
- * Note: Using the same channel for simple and debug logs will result in
- * two entries per request and response.
- */
- 'logging' => [
- 'http_log_channel' => env('FIREBASE_HTTP_LOG_CHANNEL'),
- 'http_debug_log_channel' => env('FIREBASE_HTTP_DEBUG_LOG_CHANNEL'),
- ],
- /*
- * ------------------------------------------------------------------------
- * HTTP Client Options
- * ------------------------------------------------------------------------
- *
- * Behavior of the HTTP Client performing the API requests
- */
- 'http_client_options' => [
- /*
- * Use a proxy that all API requests should be passed through.
- * (default: none)
- */
- 'proxy' => env('FIREBASE_HTTP_CLIENT_PROXY'),
- /*
- * Set the maximum amount of seconds (float) that can pass before
- * a request is considered timed out
- *
- * The default time out can be reviewed at
- * https://github.com/kreait/firebase-php/blob/6.x/src/Firebase/Http/HttpClientOptions.php
- */
- 'timeout' => env('FIREBASE_HTTP_CLIENT_TIMEOUT'),
- 'guzzle_middlewares' => [
- // MyInvokableMiddleware::class,
- // [MyMiddleware::class, 'static_method'],
- ],
- ],
- ],
- ],
- ];
|