Edit File: index.d.ts
/*! firebase-admin v9.12.0 */ /*! * Copyright 2020 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /// <reference types="node" /> import { Agent } from 'http'; export interface ServiceAccount { projectId?: string; clientEmail?: string; privateKey?: string; } /** * Interface for Google OAuth 2.0 access tokens. */ export interface GoogleOAuthAccessToken { access_token: string; expires_in: number; } export declare namespace credential { /** * Interface that provides Google OAuth2 access tokens used to authenticate * with Firebase services. * * In most cases, you will not need to implement this yourself and can instead * use the default implementations provided by * {@link credential `admin.credential`}. */ interface Credential { /** * Returns a Google OAuth2 access token object used to authenticate with * Firebase services. * * This object contains the following properties: * * `access_token` (`string`): The actual Google OAuth2 access token. * * `expires_in` (`number`): The number of seconds from when the token was * issued that it expires. * * @return A Google OAuth2 access token object. */ getAccessToken(): Promise<GoogleOAuthAccessToken>; } /** * Returns a credential created from the * {@link * https://developers.google.com/identity/protocols/application-default-credentials * Google Application Default Credentials} * that grants admin access to Firebase services. This credential can be used * in the call to * {@link * https://firebase.google.com/docs/reference/admin/node/admin#.initializeApp * `admin.initializeApp()`}. * * Google Application Default Credentials are available on any Google * infrastructure, such as Google App Engine and Google Compute Engine. * * See * {@link * https://firebase.google.com/docs/admin/setup#initialize_the_sdk * Initialize the SDK} * for more details. * * @example * ```javascript * admin.initializeApp({ * credential: admin.credential.applicationDefault(), * databaseURL: "https://<DATABASE_NAME>.firebaseio.com" * }); * ``` * * @param {!Object=} httpAgent Optional [HTTP Agent](https://nodejs.org/api/http.html#http_class_http_agent) * to be used when retrieving access tokens from Google token servers. * * @return {!admin.credential.Credential} A credential authenticated via Google * Application Default Credentials that can be used to initialize an app. */ function applicationDefault(httpAgent?: Agent): Credential; /** * Returns a credential created from the provided service account that grants * admin access to Firebase services. This credential can be used in the call * to * {@link * https://firebase.google.com/docs/reference/admin/node/admin#.initializeApp * `admin.initializeApp()`}. * * See * {@link * https://firebase.google.com/docs/admin/setup#initialize_the_sdk * Initialize the SDK} * for more details. * * @example * ```javascript * // Providing a path to a service account key JSON file * var serviceAccount = require("path/to/serviceAccountKey.json"); * admin.initializeApp({ * credential: admin.credential.cert(serviceAccount), * databaseURL: "https://<DATABASE_NAME>.firebaseio.com" * }); * ``` * * @example * ```javascript * // Providing a service account object inline * admin.initializeApp({ * credential: admin.credential.cert({ * projectId: "<PROJECT_ID>", * clientEmail: "foo@<PROJECT_ID>.iam.gserviceaccount.com", * privateKey: "-----BEGIN PRIVATE KEY-----<KEY>-----END PRIVATE KEY-----\n" * }), * databaseURL: "https://<DATABASE_NAME>.firebaseio.com" * }); * ``` * * @param serviceAccountPathOrObject The path to a service * account key JSON file or an object representing a service account key. * @param httpAgent Optional [HTTP Agent](https://nodejs.org/api/http.html#http_class_http_agent) * to be used when retrieving access tokens from Google token servers. * * @return A credential authenticated via the * provided service account that can be used to initialize an app. */ function cert(serviceAccountPathOrObject: string | ServiceAccount, httpAgent?: Agent): Credential; /** * Returns a credential created from the provided refresh token that grants * admin access to Firebase services. This credential can be used in the call * to * {@link * https://firebase.google.com/docs/reference/admin/node/admin#.initializeApp * `admin.initializeApp()`}. * * See * {@link * https://firebase.google.com/docs/admin/setup#initialize_the_sdk * Initialize the SDK} * for more details. * * @example * ```javascript * // Providing a path to a refresh token JSON file * var refreshToken = require("path/to/refreshToken.json"); * admin.initializeApp({ * credential: admin.credential.refreshToken(refreshToken), * databaseURL: "https://<DATABASE_NAME>.firebaseio.com" * }); * ``` * * @param refreshTokenPathOrObject The path to a Google * OAuth2 refresh token JSON file or an object representing a Google OAuth2 * refresh token. * @param httpAgent Optional [HTTP Agent](https://nodejs.org/api/http.html#http_class_http_agent) * to be used when retrieving access tokens from Google token servers. * * @return A credential authenticated via the * provided service account that can be used to initialize an app. */ function refreshToken(refreshTokenPathOrObject: string | object, httpAgent?: Agent): Credential; }
Back to File Manager