Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsAcceso
Dispositivo

Iniciar sesión con cuenta nativa

Autentica una cuenta nativa existente desde `auth/login` con correo electrónico y contraseña. Al completarse, Antylogic guarda la sesión local, recarga usuario y permisos, y abre la aplicación autenticada. Este flujo no crea cuentas, no usa Acceso interno y no reanuda demos.

En este artículo

Use esta guía cuando un operador ya tenga una cuenta nativa de Antylogic y necesite entrar desde el modo Cuenta de la pantalla de login.

La pantalla valida correo y contraseña antes de llamar al backend. Si la respuesta devuelve `access_token` y `refresh_token`, la app guarda los tokens, recarga usuario y permisos, y entra en el stack autenticado.

El modo `Acceso interno`, las demos públicas, OAuth y el alta nativa pertenecen a acciones separadas.

Antes de empezar

  • La app debe abrirse sin sesión activa; si hay tokens locales, cookie `auth_session` válida o demo pública reanudable, `LoginScreen` no se muestra.
  • Debe existir una identidad nativa con email y contraseña. `LoginScreen` no envía `display_name`, por lo que no registra identidades nuevas.
  • El usuario de aplicación asociado debe existir o poder provisionarse en `users` y estar activo (`users.is_active = true`).
  • El servicio app debe poder validar credenciales y emitir sesión a través del servicio auth con `authclient.ClientID` y `authclient.ClientSecret`.
  • Para capturas de éxito use solo credenciales nativas temporales del runtime de documentación; no use `DEMO_SESSION_ID`, `DEMO_USER_ID`, `DEMO_USER_EMAIL` ni credenciales reales.

Instrucciones

  1. 1.

    Abrir la pantalla de acceso

    Abra `auth/login` sin sesión. Compruebe que aparece el modo Cuenta con `Correo electrónico`, `Contraseña`, `Recordarme` e `Iniciar sesión`. `Acceso interno` puede aparecer como alternativa, pero no forma parte de esta acción.

  2. 2.

    Escribir las credenciales

    Introduzca el correo y la contraseña de la cuenta nativa. La app recorta espacios del correo y mantiene la contraseña solo como entrada para el envío.

  3. 3.

    Enviar el inicio de sesión

    Pulse `Iniciar sesión`. La pantalla bloquea envíos duplicados y llama a `POST /api/app/auth/callback/native` con `email`, `password`, `remember` y los parámetros de navegación disponibles (`state`, `return_to`, `lang`).

  4. 4.

    Resolver la sesión

    El backend valida método, payload, `state`, `client_id` y `scopes`; el servicio auth normaliza el email, comprueba la contraseña de una identidad existente y emite tokens si el usuario de app está activo.

  5. 5.

    Entrar en la app autenticada

    Cuando la respuesta incluye `result.access_token` y `result.refresh_token`, la app guarda ambos en `tokenStorage`, invalida `authKeys.me` y `appKeys.myPermissions`, y carga `GET /api/app/me` y `GET /api/app/me/permissions`.

  6. 6.

    Gestionar errores visibles

    Si hay errores de campo o credenciales, corrija correo o contraseña. Ante errores de red o `500+`, la app abre `ApiConnectionError`; si faltan tokens en la respuesta, permanece en login con un mensaje general.

Validaciones y límites

  • `Correo electrónico` es obligatorio y debe contener `@`.
  • `Contraseña` es obligatoria y debe tener al menos 6 caracteres.
  • Mientras `isSubmitting` o `isDemoSubmitting` están activos, no se envía otra solicitud.
  • `POST /api/app/auth/callback/native` y el alias `POST /api/app/callback/native` rechazan métodos distintos de `POST`.
  • Si llega `state` y existe cookie temporal nativa, ambos valores deben coincidir; si no, se reinicia el flujo nativo por `error.request.invalid_state`.
  • La identidad debe existir, tener `PasswordHash` y verificar la contraseña; sin `display_name`, una identidad nueva se rechaza y no se registra desde esta pantalla.
  • El usuario de app debe quedar activo; si `GET /api/app/me` o `GET /api/app/me/permissions` responde `401` o `404`, la app limpia tokens, cookies y cachés.
  • `Recordarme` se envía en el payload, pero esta guía no promete una duración ampliada de sesión porque el camino app inspeccionado no demuestra que se propague al token exchange.
  • La acción no selecciona organización ni ubicación, ni inicia `auth.internal.login`, demo pública, OAuth o signup.

Resultado esperado

La cuenta nativa queda autenticada, los tokens se guardan localmente y Antylogic abre el stack autenticado listo para cargar usuario, permisos y contexto operativo.

Artículos relacionados