JF

JavaFireAuth

"Conecta tus aplicaciones Java de escritorio con Google y Firebase en un solo clic."

Descripción general: JavaFireAuth es una solución de autenticación para aplicaciones de escritorio en Java Swing que integra el flujo OAuth 2.0 de Google con Firebase Authentication mediante llamadas directas a sus APIs REST y un servidor local ligero.

Descubrir cómo funciona

El Problema y Nuestra Propuesta

Problema o necesidad detectada

Firebase no ofrece un SDK oficial de cliente para aplicaciones de escritorio en Java (solo para Android, iOS y Web). Los desarrolladores de Java Swing se ven obligados a crear sistemas de login propios inseguros o a gestionar bases de datos de contraseñas manualmente.

Público al que se dirige

Estudiantes de desarrollo de software (DAM/DAW), programadores independientes y equipos que desarrollan herramientas de escritorio en Java y necesitan un sistema de cuentas moderno y seguro en la nube.

Justificación del desarrollo

Permite reutilizar en aplicaciones Java de escritorio la misma base de usuarios de Firebase que ya usan las versiones móvil o web de un proyecto, ahorrando horas de programación backend y mejorando la seguridad.

Funcionalidades y Aporte de Valor

Funcionalidades más importantes

  • Inicio de sesión con Google (OAuth 2.0): Apertura automática del navegador predeterminado del sistema.
  • Servidor local de escucha (Puerto 8080): Captura automática del código de autorización y cierre automático tras el login.
  • Intercambio asíncrono de tokens: Peticiones HTTP en segundo plano para no congelar la interfaz gráfica de Java Swing.
  • Sincronización con Firebase REST API: Validación del usuario y recuperación de su Nombre, Email y UID único.

Qué aporta a sus usuarios

  • Para el usuario final: Iniciar sesión en un segundo con su cuenta habitual de Google sin tener que recordar otra contraseña más.
  • Para el desarrollador: Un módulo ligero en Java puro, sin librerías pesadas externas, listo para integrar en cualquier JFrame.

Capturas de Pantalla de la Aplicación

Ventana inicial en Java Swing

1. Interfaz Java Swing: Ventana principal lista para iniciar la autenticación.

Respuesta en localhost:8080

2. Recepción en Localhost: El servidor local captura el código OAuth 2.0 del navegador.

Datos del usuario autenticado

3. Usuario Validado: Visualización del Nombre, Email y Firebase UID en tiempo real.

Usuarios Potenciales y Beneficios

Perfil de usuarios potenciales

Desarrolladores junior y estudiantes de ciclos formativos de informática que crean aplicaciones de gestión en NetBeans/IntelliJ, así como usuarios de herramientas de escritorio multiplataforma.

Necesidades e intereses

Buscan rapidez de implementación, código limpio sin configuraciones complejas de servidores propios, protección de credenciales y compatibilidad con el ecosistema gratuito de Google y Firebase.

Beneficios obtenidos

Eliminación total de contraseñas en texto plano, autenticación respaldada por Google, registro centralizado en la consola de Firebase y una interfaz fluida gracias al uso de hilos secundarios.

¿Por qué elegir JavaFireAuth?

Qué hace diferente a nuestra propuesta

A diferencia de los navegadores incrustados (WebViews antiguos) que Google bloquea por seguridad, JavaFireAuth utiliza el navegador real del sistema junto con un microservidor efímero en localhost:8080 que se apaga en cuanto recibe el token.

Ventajas frente a soluciones existentes

  • Frente a Login con MySQL local: No requiere instalar XAMPP ni gestionar cifrado manual de contraseñas.
  • Frente a Firebase Admin SDK: No expone claves privadas de administrador dentro de la aplicación del cliente.
  • Cero dependencias externas: Funciona con las librerías nativas de Java (HttpClient, HttpServer y Swing).