<?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' => "firebase-auth.json", /* * ------------------------------------------------------------------------ * 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' => [], ], ], ], ];