Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Obtén más información sobre cómo usar y administrar las claves de API para Firebase

Una clave de API es una cadena única que se usa para enrutar solicitudes a su proyecto de Firebase cuando interactúa con los servicios de Firebase y Google. En esta página, se describe información básica sobre las claves de API, así como las mejores prácticas para usar y administrar claves de API con aplicaciones de Firebase.

Información general sobre las claves de API y Firebase

Las claves de API para Firebase son diferentes de las claves de API típicas

A diferencia de cómo se utilizan normalmente claves de la API, claves de la API para los servicios de base de fuego no se utilizan para controlar el acceso a los recursos de back-end; eso solo se puede hacer con las reglas de seguridad de Firebase (para controlar qué usuarios pueden acceder a los recursos) y App Check (para controlar qué aplicaciones pueden acceder a los recursos).

Por lo general, es necesario proteger cuidadosamente las claves de la API (por ejemplo, mediante el uso de un servicio de bóveda o la configuración de las claves como variables de entorno); sin embargo, las claves de API para los servicios de Firebase se pueden incluir en el código o en los archivos de configuración registrados.

Aunque claves de la API para los servicios de base de fuego son seguros para incluir en el código, hay algunos casos específicos cuando se debe hacer cumplir los límites de su clave de API; por ejemplo, si usa Firebase ML, Firebase Authentication con el método de inicio de sesión por correo electrónico / contraseña o una API de Google Cloud facturable. Obtenga más información sobre estos casos más adelante en esta página.

Creando claves API

Un proyecto de Firebase puede tener muchas claves de API, pero cada clave de API solo se puede asociar con un único proyecto de Firebase.

Claves de API creadas automáticamente por Firebase para sus aplicaciones de Firebase

Firebase crea automáticamente claves de API para su proyecto cuando realiza cualquiera de las siguientes acciones:

  • Crear un proyecto Firebase> Browser key de creación automática
  • Crear una aplicación iOS Firebase> iOS key de creación automática
  • Crear un Firebase Android App> Android key de auto-creado

También puede crear sus propias claves de la API en la nube consola Google , por ejemplo, para el desarrollo o la depuración . Obtenga más información sobre cuándo podría recomendarse esto más adelante en esta página.

Encontrar sus claves API

Puede ver y gestionar claves de la API todo de su proyecto en las APIs y servicios> Credenciales del panel de Google Cloud Console.

También puede encontrar qué clave de API se corresponde automáticamente a una aplicación Firebase en los siguientes lugares. Por defecto, todos los Firebase Apps de su proyecto para la misma plataforma (iOS vs Android vs Web) se utilizará la misma clave de API.

  • Firebase iOS Aplicaciones - Encontrar la clave de una aplicación de auto-emparejado API en el archivo de configuración de base de fuego, GoogleService-Info.plist , en el API_KEY campo.

  • Firebase Aplicaciones Android - Buscar clave de API de auto-emparejado de una aplicación en el archivo de configuración de base de fuego, google-services.json , en el current_key campo.

  • Firebase Aplicaciones Web - Buscar clave de API de auto-emparejado de una aplicación en el objeto de configuración base de fuego, en el apiKey campo.

Usando una clave API

Las claves de API se utilizan para identificar su proyecto de Firebase cuando interactúa con los servicios de Firebase / Google. Específicamente, se utilizan para asociar solicitudes de API con su proyecto para la cuota y la facturación. También son útiles para acceder a datos públicos.

Por ejemplo, puede utilizar explícitamente una clave de API pasando su valor a una llamada de API REST como parámetro de consulta. Este ejemplo muestra cómo se puede hacer una solicitud a la API de enlace dinámico acortador de enlaces :

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

Cuando su aplicación realiza una llamada a una API de Firebase, su aplicación buscará automáticamente en el archivo / objeto de configuración de Firebase la clave de API de su proyecto. Sin embargo, puede configurar sus claves de API mediante un mecanismo diferente, incluidas las variables de entorno.

Aplicar restricciones a claves de la API (recomendado)

Aunque no es necesario tratar una clave de API para los servicios de Firebase como un secreto, existen algunos casos específicos (ver a continuación) en los que es posible que desee tomar medidas adicionales para proteger su proyecto del uso indebido de la clave de API.

Ajusta la cuota si usas autenticación basada en contraseña

Si utiliza la autenticación basada en contraseñas Firebase y alguien se apodera de su clave de API, que no será capaz de acceder a cualquiera de los datos de la nube de almacenamiento de base de datos o de su proyecto Firebase, siempre y cuando estos datos está protegido por firebase reglas de seguridad . Sin embargo, podrían usar su clave de API para acceder a los puntos finales de autenticación de Firebase y realizar solicitudes de autenticación en su proyecto.

Para mitigar la posibilidad de que alguien pueda hacer mal uso de una clave de API para intentar un ataque de fuerza bruta, se puede ajustar la cuota predeterminada de los identitytoolkit.googleapis.com criterios de valoración para reflejar las expectativas normales de tráfico de su aplicación. Tenga en cuenta que si ajusta esta cuota y su aplicación gana usuarios de repente, es posible que obtenga errores de inicio de sesión hasta que aumente la cuota. Puede cambiar las cuotas de la API de su proyecto en el Google Cloud Console .

Utilice claves de API restringidas independientes para tipos específicos de API

Aunque las claves de API que se usan para los servicios de Firebase generalmente no necesitan tratarse como secretas, debes tomar algunas precauciones adicionales con las claves de API que se usan para otorgar acceso a las API de Google Cloud que has habilitado manualmente.

Si usa una API de Google Cloud (en cualquier plataforma) que Firebase no habilita automáticamente (lo que significa que usted mismo la habilitó), debe considerar la posibilidad de crear claves de API restringidas y separadas para usar con esas API. Esto es particularmente importante si la API es para un servicio de Google Cloud facturable.

Por ejemplo, si utiliza la nube Visión API de Firebase ML en IOS, debe crear claves API separados que se utiliza sólo para acceder a las API de la visión de la nube.

Mediante el uso de claves de la API separados, restringido por falta de Firebase API, puede girar o reemplazar las llaves cuando sea necesario y añadir restricciones adicionales a las claves de la API sin interrumpir su uso de los servicios de base de fuego.

Utilice las teclas entorno específico de la API (recomendado)

Si configura diferentes proyectos de Firebase para diferentes entornos, como la etapa de pruebas y la producción, es importante que cada instancia de la aplicación interactúe con su proyecto de Firebase correspondiente. Por ejemplo, la instancia de la aplicación de ensayo nunca debe comunicarse con su proyecto de producción de Firebase. Esto también significa que su aplicación de prueba necesita usar claves API asociadas con su proyecto de prueba de Firebase.

Para reducir los problemas de promoción de cambios en el código desde el desarrollo hasta la puesta en escena y la producción, en lugar de incluir claves de API en el código en sí, configúrelas como variables de entorno o inclúyalas en un archivo de configuración.

Tenga en cuenta que si está utilizando Firebase Local Emulator Suite para el desarrollo junto con Firebase ML, debe crear y usar una clave de API solo de depuración. Instrucciones para crear ese tipo de clave se encuentran en los documentos Firebase ML .

Preguntas frecuentes