Entérate de todos los anuncios de Firebase Summit y descubre cómo Firebase puede ayudarte a acelerar el desarrollo de las apps y a ejecutarlas con confianza. Más información

Introducción a la API de autenticación de administrador

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

El SDK de Firebase Admin le permite integrar sus propios servidores con Firebase Authentication. Puede usar el SDK de administrador de Firebase para administrar sus usuarios o para administrar tokens de autenticación. Hay varias razones por las que querrías hacer esto:

Gestión de usuarios

No siempre es conveniente tener que visitar la consola de Firebase para administrar tus usuarios de Firebase. La API de gestión de usuarios administradores proporciona acceso programático a esos mismos usuarios. Incluso le permite hacer cosas que la consola Firebase no puede, como recuperar los datos completos de un usuario y cambiar la contraseña, la dirección de correo electrónico o el número de teléfono de un usuario.

Autenticación personalizada

Puede integrar un sistema de usuario externo con Firebase. Por ejemplo, es posible que ya tenga una base de datos de usuarios preexistente o que desee integrarse con un proveedor de identidad de terceros que Firebase Authentication no admita de forma nativa.

Para hacer esto, puede crear tokens personalizados con reclamos arbitrarios que identifiquen al usuario. Estos tokens personalizados se pueden usar para iniciar sesión en el servicio de autenticación de Firebase en una aplicación cliente y asumir la identidad descrita por los reclamos del token. Esta identidad se usará luego al acceder a otros servicios de Firebase, como Cloud Storage.

Verificación de identidad

Firebase Authentication se usa principalmente para identificar a los usuarios de su aplicación a fin de restringir el acceso a otros servicios, como Cloud Storage. También puede utilizar el servicio para identificar a estos usuarios en su propio servidor. Esto le permite realizar de manera segura la lógica del lado del servidor en nombre de los usuarios que iniciaron sesión con Firebase Authentication.

Para hacer esto, puede recuperar un token de ID de una aplicación cliente que haya iniciado sesión con Firebase Authentication e incluir el token en una solicitud a su servidor. Luego, su servidor verifica el token de identificación y extrae los reclamos que identifican al usuario (incluido su uid , el proveedor de identidad con el que inició sesión, etc.). Esta información de identidad puede ser utilizada por su servidor para llevar a cabo acciones en nombre del usuario.

El SDK de Firebase Admin proporciona métodos para realizar las tareas de autenticación anteriores al permitirle administrar sus usuarios, generar tokens personalizados y verificar tokens de ID.

Reclamos de usuario personalizados

En algunos casos, es posible que desee implementar un control de acceso detallado para los usuarios que ya iniciaron sesión con uno de los proveedores de autenticación de Firebase compatibles, como correo electrónico/contraseña, Google, Facebook, teléfono, etc. Una combinación de reclamos de usuario personalizados y seguridad de la aplicación Las reglas proporcionan esta capacidad. Por ejemplo, un usuario que inició sesión con el proveedor de correo electrónico y contraseña de autenticación de Firebase puede tener un control de acceso definido mediante notificaciones personalizadas.

Gestión de usuarios

El SDK de administrador de Firebase proporciona una API para administrar sus usuarios de Firebase con privilegios elevados. La API de administración de usuarios de administrador le brinda la capacidad de recuperar, crear, actualizar y eliminar usuarios mediante programación sin requerir las credenciales existentes de un usuario y sin preocuparse por la limitación de velocidad del lado del cliente.

Administrar usuarios

Creación de fichas personalizadas

El uso principal para crear tokens personalizados es permitir que los usuarios se autentiquen con un mecanismo de autenticación externo o heredado. Puede ser uno que usted controle, como su servidor LDAP, o un proveedor de OAuth de terceros que Firebase no admita de forma nativa, como Instagram o LinkedIn.

El SDK de Firebase Admin tiene un método integrado para crear tokens personalizados. También puede crear mediante programación tokens personalizados en cualquier idioma utilizando bibliotecas JWT de terceros.

Su servidor debe crear un token personalizado con un identificador único ( uid ) y pasar ese token a una aplicación cliente, que lo usará para iniciar sesión en Firebase. Consulte Crear tokens personalizados para ejemplos de código y más detalles sobre el proceso de creación de tokens personalizados.

Crear fichas personalizadas

Verificación de token de identificación

Si su aplicación de cliente de Firebase se comunica con su servidor backend, es posible que deba identificar al usuario que actualmente inició sesión en su servidor para que pueda realizar la lógica del lado del servidor en su nombre. Puede hacerlo de forma segura mediante tokens de ID, que Firebase crea cuando un usuario inicia sesión en una aplicación de Firebase. Los tokens de ID se ajustan a la especificación de OpenID Connect y contienen datos para identificar a un usuario, así como otra información relacionada con el perfil y la autenticación. Puede enviar, verificar e inspeccionar estos tokens desde sus propios backends. Esto le permite identificar de forma segura al usuario que ha iniciado sesión actualmente y autorizarlo en sus propios recursos de back-end.

El SDK de Firebase Admin tiene un método integrado para verificar tokens de ID. También puede verificar mediante programación tokens de ID en cualquier idioma utilizando bibliotecas JWT de terceros. Consulte Verificar tokens de ID para obtener más detalles y ejemplos de códigos sobre el proceso de verificación de tokens de ID.

Verificar tokens de identificación

Reclamaciones de usuario personalizadas

El SDK de administración de Firebase le permite establecer atributos personalizados en las cuentas de usuario. Con notificaciones de usuario personalizadas, puede otorgar a los usuarios diferentes niveles de acceso (roles), que luego se aplican en las reglas de seguridad de una aplicación.

Una vez que se modifican los reclamos personalizados en un usuario a través del SDK de administrador de Firebase, se propagan a los usuarios autenticados en el lado del cliente a través de sus tokens de ID. El token de ID es un mecanismo confiable para entregar estos reclamos personalizados, y todos los accesos autenticados deben validar el token de ID antes de procesar la solicitud asociada.

Controle el acceso con reclamos personalizados