Cómo registrar un usuario nativo
Crea una cuenta desde `auth/signup`, registra la aceptación de términos y abre sesión sin conceder permisos operativos automáticamente.
En este artículo
El registro nativo permite que una persona cree su cuenta desde la pantalla pública de autenticación. La app exige datos básicos, contraseña y aceptación del documento legal vigente antes de llamar al callback nativo.
En una ejecución correcta, Antylogic crea la identidad nativa, guarda la aceptación legal, provisiona el usuario de app y emite sesión. Este flujo no crea membresías, roles, staff ni acceso a ubicaciones.
Antes de empezar
- La app debe estar sin sesión activa; `auth/signup` solo aparece en el stack público.
- Debe cargarse un documento vigente desde `GET /api/auth/legal/terms/current`; sin `termsDocument.id`, `Comenzar` queda deshabilitado.
- El email usado para el alta no debe existir ya como identidad nativa.
- El backend de app debe tener configurado el cliente del auth service para completar el callback interno.
- Para capturas de éxito, usa un email temporal del runtime de documentación y limpia los datos creados después.
Instrucciones
- 1.
Abrir el registro
Abre `auth/signup` desde el stack público. La pantalla debe mostrar nombre, apellido, correo electrónico, contraseña, requisitos de contraseña, aceptación de términos y el CTA `Comenzar`.
- 2.
Esperar los términos
La app consulta `GET /api/auth/legal/terms/current` con el locale activo. El operador debe esperar a que el documento legal cargue antes de intentar aceptar o enviar el formulario.
- 3.
Completar los datos
Introduce nombre, apellido, email y contraseña. La pantalla recorta nombre, apellido y email, y combina nombre y apellido en `display_name` para el usuario de app.
- 4.
Aceptar el documento legal
Revisa el enlace de términos si hace falta y marca la aceptación. El backend asociará el alta al `terms_document_id` vigente y guardará la aceptación con origen `signup_app_native`.
- 5.
Enviar y confirmar sesión
Pulsa `Comenzar`. La app envía `POST /api/app/auth/callback/native` con email, contraseña, `display_name` y `terms_document_id`; si el alta termina bien, guarda tokens, invalida `me` y `myPermissions`, y entra en el stack autenticado.
Validaciones y límites
- Nombre y apellido no pueden quedar vacíos tras `trim()`.
- El email no puede estar vacío y debe contener `@`; el backend lo normaliza a minúsculas.
- La UI exige contraseña de al menos 8 caracteres y un carácter especial; el auth service solo valida longitud mínima de 6 caracteres.
- El usuario debe aceptar términos y el documento debe existir, ser requerido, estar activo y tener `code=terms_and_conditions`.
- La rama de registro se activa por `display_name`; una llamada directa sin `display_name` con email inexistente se trata como login fallido.
- Si el email ya existe y se envía `display_name`, el backend devuelve conflicto en vez de iniciar sesión.
- El submit queda bloqueado mientras se cargan términos, se envía el formulario o falta `termsDocument.id`.
- Un alta correcta crea identidad, aceptación legal, usuario app y sesión, pero no crea membresías, roles, staff ni permisos para `Grupo Marea Demo` o `Marea Gran Via`.
Resultado esperado
La cuenta nativa queda creada con email sin verificar, aceptación legal registrada, usuario de app provisionado y sesión emitida mediante tokens y cookies; el acceso operativo dependerá de membresías y permisos separados.