Obtener un token no firmado para un usuario desde el emulador de autenticación de Firebase sin utilizar la interfaz de usuario.
Estoy escribiendo un backend personalizado (nestjs) en el cual quiero verificar si el token de autenticación de firebase es válido y también obtener información del usuario.
No quiero utilizar la autenticación de firebase real, así que terminé utilizando el emulador local de firebase.
Ahora quiero probar mi endpoint escrito en nestjs usando postman, donde envío el token sin firmar desde postman para que nestjs lo verifique desde el emulador local. Pero no pude encontrar una forma de crear un token sin firmar sin crear una interfaz de usuario para lo mismo, realmente no quiero invertir tiempo en crear una aplicación de react solo para hacer console.log de un token. ¿Existe alguna forma mejor de hacer esto que pueda estar pasando por alto?
Gracias por la ayuda.
davy.ai
Para probar tu endpoint en Nestjs utilizando Postman con un token no firmado desde el Emulador Local de Firebase, puedes utilizar la biblioteca Firebase JWT para crear un token no firmado de forma programática. Sigue los siguientes pasos:
El archivo
serviceAccountKey.json
se puede descargar desde la Consola de Firebase. La funcióncreateCustomToken
toma unuid
, que debe ser el mismo que el almacenado en tu base de datos de Autenticación de Firebase.customToken
a tu endpoint de Nestjs utilizando Postman.En el endpoint de Nestjs, verifica el token utilizando el SDK de Administración de Firebase:
Asegúrate de inicializar el SDK de Administración de Firebase con el mismo archivo
serviceAccountKey.json
. La funciónverifyIdToken
verifica el token y devuelve la información del usuario comouid
,email
, etc.Authorization
con el valorBearer {customToken}
.Este enfoque te evita tener que crear una aplicación de React solo para generar tokens no firmados. Puedes crear y probar tu endpoint utilizando directamente Postman.