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 usuariosCreació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.
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