KEPLIN Docs

Pantallas públicas y registro

Las pantallas de sistema de la app — entrada, recuperación de contraseña y registro — cómo se diseñan, cuándo se sirven, y cómo abrir una pantalla al público.

Antes de que alguien entre en una app, ya vio pantallas suyas: la de entrada, la de recuperar la contraseña y, cuando existe, la de registro. Son las pantallas de sistema — y en Keplin no son una página fija de la plataforma: son pantallas de tu app, diseñadas en el mismo constructor, con el tema de la app y las frases de la app.

Esta página trata de ellas y de lo que decide cuándo se sirven.

Las tres pantallas de sistema

En el árbol de la app, en el minitab UI, el grupo Pantallas empieza por una carpeta Sistema con tres entradas:

El grupo Sistema en el árbol de pantallas
El grupo Sistema en el árbol de pantallas

Pantalla Ruta Para qué sirve
Login / La entrada de la app. Es lo que responde cuando alguien llega sin sesión.
Recuperar contraseña /recover Pide el correo y envía el enlace de restablecimiento.
Registro /register Crea una cuenta nueva. Solo se sirve con el registro público activado.

Existen siempre — no se crean ni se borran. Lo que se hace es diseñarlas.

Diseñar una pantalla de sistema

Haz clic en el nombre y la pantalla se abre en el constructor, exactamente como cualquier otra:

La pantalla Login abierta en el constructor
La pantalla Login abierta en el constructor

Tienes la paleta de Widgets a la izquierda, el lienzo en el centro con los tres tamaños (Web, Tablet, Mobile) y las propiedades a la derecha. Puedes cambiar lo que quieras — poner el logotipo, cambiar textos, añadir un panel con una imagen al lado, tocar los colores, escribir eventos en TypeScript.

Lo que no se cambia lo dice el propio panel: «Pantalla de sistema — ruta, parámetros y acceso son fijos.»

La pantalla Registro en el constructor, con el aviso de pantalla de sistema
La pantalla Registro en el constructor, con el aviso de pantalla de sistema

Qué es fijo Por qué
La ruta (/register, /recover) Por ella la app sirve la pantalla; cambiarla rompería la entrada.
Los parámetros Una pantalla de sistema no recibe parámetros de la ruta.
El acceso Son públicas por naturaleza — no tendría sentido exigir sesión a la pantalla que da la sesión.

Todo lo demás está ahí: Plantilla de la pantalla (el layout), Datos, Comportamiento, Aspecto (el color de fondo, una imagen de los archivos de la app) y los Eventos — onLoad, onParamsChange, onUnload.

Consejo

Una pantalla de entrada no tiene que ser una caja en medio de un fondo blanco. La mitad de las pantallas de entrada de aplicaciones internas ganan muchísimo con el logotipo de la empresa y una imagen a la izquierda — y eso es media docena de widgets arrastrados al lienzo.

Volver al diseño inicial

¿Tocaste el Login y quieres lo que había? En el panel UI, en el grupo Sistema, abre el menú ⋯ de la pantalla y elige Restablecer la pantalla inicial. Tras confirmar, la pantalla vuelve al diseño con el que se creó la app, en el idioma de la app; el identificador, la ruta y el acceso no cambian, y las demás pantallas de sistema siguen apuntándole. Si la pantalla está abierta en el constructor, se recarga sola. Queda registrado en el historial de la app, como cualquier guardado.

Cómo se comportan las pantallas en runtime

Entrada

La pantalla de sistema Login de la app Gestión de Clientes publicada — la puerta de entrada de quien la usa.
La pantalla de sistema Login de la app Gestión de Clientes publicada — la puerta de entrada de quien la usa.

La persona escribe Usuario y Contraseña y pulsa Entrar. Las cuentas son las cuentas de la app — ver Usuarios de la app.

El modo OAuth / OpenID Connect aún no está disponible: la entrada es siempre con usuario y contraseña.

Recuperar la contraseña

El enlace Olvidé mi contraseña lleva a /recover:

La pantalla Recuperar contraseña
La pantalla Recuperar contraseña

La persona escribe el correo, pulsa Enviar, y recibe un enlace para restablecer la contraseña.

El campo acepta el email o el nombre de usuario. Un identificador con «@» se busca primero por el email, para que una cuenta cuyo nombre sea el email de otra persona no se ponga por delante de la cuenta correcta.

Atención

«La recuperación de contraseña envía el enlace por el canal de correo de los ajustes de Notificaciones (tiene que estar activo y con SMTP completo).» Sin ese canal configurado, la pantalla existe y no sirve para nada — nadie recibe el correo. Y la cuenta necesita tener correo relleno en su registro.

El enlace del correo apunta siempre a una dirección que la instalación conoce: el dominio propio de la app, cuando la petición llegó por él, o la Dirección pública de la Configuración de la plataforma (en multitenant, la dirección del tenant). Sin ninguna de las dos, la recuperación no envía el correo y la pantalla muestra un error.

Registro público

La pantalla Registro servida en /register
La pantalla Registro servida en /register

La pantalla pide Nombre, Correo, Usuario y Contraseña y crea la cuenta en Registrarse. Volver al login trae a la persona de vuelta a la entrada.

El registro rechaza un nombre de usuario que sea el email de otra cuenta, y un email que sea el nombre de usuario de otra: son los dos identificadores por los que la recuperación de contraseña busca la cuenta, y no pueden apuntar a personas distintas.

Activar (o desactivar) el registro público

El interruptor está en Ajustes de la app → Autenticación, en la sección Registro y recuperación — «pantallas de sistema públicas del runtime: registro de usuarios y recuperación de contraseña».

La sección Autenticación, con el registro y la recuperación
La sección Autenticación, con el registro y la recuperación

Campo Qué hace
Permitir registro público Activado, «cualquier visitante puede crear cuenta en la pantalla /register. Desactivado, la pantalla no se sirve».
Role de los nuevos registros «Role asignado automáticamente a quien se registra.» O Sin role.

Guarda con Guardar («Autenticación guardada.»).

Atención

Nunca dejes el Role de los nuevos registros en «Sin role» en una app con registro abierto. Quien se registra entra y no ve nada — y va a reportarlo como un error de la aplicación. Crea un role de entrada (por ejemplo leitura, con permisos mínimos) y apúntalo aquí.

Y lo inverso también es verdad: un registro abierto es una puerta abierta. En una aplicación interna, lo normal es tener el registro público desactivado y crear las cuentas a mano en los ajustes. Actívalo solo cuando el público es de verdad público — un portal de clientes, un formulario de inscripción.

Abrir una pantalla normal al público

Además de las tres pantallas de sistema, cualquier pantalla de la app puede servirse sin sesión. Abre la pantalla en el constructor, haz clic en una zona vacía del lienzo para seleccionar la pantalla, y en la sección Acceso de las propiedades activa Pantalla pública (sin sesión).

El aviso que aparece a continuación es toda la regla: «Servida sin login. Los datos vienen solo de APIs públicas.»

Lo que esto implica, en la práctica:

  1. La pantalla se sirve a quien llegue por la dirección, sin autenticación.
  2. Los datos que muestre tienen que venir de APIs marcadas como públicas. Una API que no sea pública no devuelve nada: «esta API no tiene lectura pública — en una pantalla sin sesión no carga datos.»
  3. En las APIs de tabla, la sección Acceso público (sin sesión) se activa operación a operación — «operaciones que las pantallas públicas (sin login) pueden llamar. Activa solo lo necesario.»

Casos típicos: una página de estado, un formulario de contacto, un catálogo. Ver APIs públicas.

Atención

Una pantalla pública más una API pública es exactamente eso: datos abiertos a Internet. Activa la lectura pública solo en las operaciones y en los campos que aceptas ver publicados, y nunca la escritura sin una razón muy buena.

Preguntas frecuentes

¿Dónde está la pantalla de «definir nueva contraseña»? Es la segunda mitad de la recuperación y la sirve el enlace que va en el correo. La pantalla que diseñas es la que pide el correo.

Cambié la pantalla de Login y sigue apareciendo la antigua. La pantalla servida es la de la versión que esa dirección sirve. Si editaste en otra versión, la dirección publicada sigue sirviendo la que tiene asociada — ver Versiones y publicación.

¿Puedo esconder el enlace de recuperación? Sí — la pantalla de Login es tuya. Borra el enlace en el lienzo. La pantalla /recover sigue existiendo, pero deja de tener puerta desde la entrada.

El registro crea la cuenta pero la persona no puede entrar. Confirma si la cuenta quedó Activo y si el Role de los nuevos registros apunta a un role que existe. Una cuenta activa sin role entra y no ve nada, lo que suele leerse como «no pude entrar».