Saltearse al contenido

Iniciar sesión

ARGUS usa Firebase Authentication como proveedor de identidad. Todos los métodos de inicio de sesión resuelven a un User de Firebase, el token de sesión se refresca automáticamente cada hora, y las rutas protegidas por el authGuard redirigen a /login si el token desaparece.

La pantalla de inicio de sesión

Abre /. Sin autenticación, el authGuard te envía a /login. El modo por defecto es correo + contraseña:

  • Correo — autocompletado (autocomplete="username") habilitado.
  • Contraseñaautocomplete="current-password". Enter para enviar.
  • Botón Login — al tener éxito vuelves a /.

Debajo del formulario: un conmutador de modo a teléfono (SMS OTP, requiere una organización con phone-auth habilitado) y un panel de capacidades (i circular abajo a la derecha).

Métodos de inicio de sesión

Correo y contraseña

El método por defecto para toda organización. Si aún no tienes cuenta, un administrador debe enviarte una invitación — no puedes autoregistrarte con un correo nuevo.

Inicio de sesión único (SSO)

En los planes Command o Sovereign, el SSO se habilita a nivel de organización (SAML / OIDC a través de Firebase). Al tener éxito, el registro de usuario se aprovisiona automáticamente y se asocia al rol que tengas asignado.

Aspiracional: la plantilla de login actualmente desplegada expone solo correo + teléfono. Las organizaciones con SSO habilitado redirigen directamente al IdP desde su subdominio de login.

OTP por teléfono

Cambia al modo teléfono, introduce tu número en formato E.164 (p. ej. +14155551234), resuelve el reCAPTCHA, pulsa Enviar OTP, luego introduce el código de 6 dígitos y pulsa Verificar.

Invitaciones por enlace mágico

Cuando un administrador te invita, recibes un correo con un enlace como https://app.argus.tactical/invite?token=<opaque>. Al abrirlo se valida el token, se muestra la organización + rol que se te ofrecen, y te permite iniciar sesión o registrarte en un solo flujo — ver Invitaciones.

Olvidé mi contraseña

La plantilla actualmente desplegada no incluye un enlace en línea “Olvidé mi contraseña” (aspiracional). Hoy, un administrador envía un correo de restablecimiento de contraseña desde Admin → Usuarios → [usuario] → Enviar restablecimiento de contraseña. Cuando la UI se despliegue, será un flujo de restablecimiento estándar de Firebase.

Selección entre varias organizaciones

Si tu cuenta pertenece a más de una organización, ARGUS restaura la última que usaste (persistida en localStorage bajo sar.activeOrg mediante OrgService.restoreActiveOrg()). Cámbiala desde el menú del avatar — haz clic en tu avatar; la cabecera del desplegable muestra la organización activa y la insignia de rol; elige Cambiar organización. Cambiar la organización activa recarga la navegación dependiente de permisos y el dashboard.

Duración de la sesión

  • Los tokens de ID se refrescan cada 1 hora de forma silenciosa.
  • El token de refresco tiene una ventana deslizante de 24 horas — mantente activo y seguirás conectado; cierra la pestaña durante >24h y tendrás que iniciar sesión de nuevo la próxima vez.
  • Cerrar sesión desde otro dispositivo invalida el token de refresco en todas partes.

Errores comunes

La tarjeta de login se sacude y muestra un mensaje. Todos provienen de Firebase Auth; el texto para el operador es intencionadamente vago cuando corresponde.

MostradoCódigo de FirebaseSignificado
Credenciales incorrectas.auth/invalid-credential, auth/wrong-password, auth/user-not-found, auth/invalid-emailCorreo o contraseña incorrectos. El mismo mensaje para los cuatro — no filtramos qué campo falló.
Acceso denegado. Contacta a tu administrador.auth/user-disabledCuenta deshabilitada.
Demasiados intentos fallidos.auth/too-many-requestsLimitado por tasa.
Error de red.auth/network-request-failedNo se puede alcanzar Firebase.
Este método de inicio de sesión no está habilitado.auth/operation-not-allowedMétodo desactivado para tu organización.
Sesión expirada.auth/requires-recent-loginVuelve a autenticarte.
Inicio de sesión cancelado.auth/popup-closed-by-userSe cerró el popup antes de finalizar.

En compilaciones de desarrollo, el código bruto se muestra debajo del mensaje amigable; en producción, queda oculto.

“Sin organización” es aparte: la autenticación tuvo éxito pero tu usuario no tiene membresía en ninguna organización — aterrizas en el dashboard con un estado vacío; pide a un administrador que te invite.

Cerrar sesión

Haz clic en tu avatar (arriba a la derecha) → Cerrar sesión (al final del desplegable, en rojo). El cierre de sesión llama a signOut() en la instancia de Firebase Auth, limpia el estado de la app, navega a /login, y recarga forzadamente la página (window.location.replace('/login')) para restablecer el estado en tiempo de ejecución.

Relacionado