Ecrãs públicos e registo
Os ecrãs de sistema da app — entrada, recuperação de palavra-passe e registo — como se desenham, quando são servidos, e como abrir um ecrã ao público.
Antes de alguém entrar numa app, já viu ecrãs dela: o de entrada, o de recuperar a palavra-passe e, quando existe, o de registo. São os ecrãs de sistema — e no Keplin não são uma página fixa da plataforma: são ecrãs da tua app, desenhados no mesmo construtor, com o tema da app e as frases da app.
Esta página trata deles e do que decide quando são servidos.
Os três ecrãs de sistema
Na árvore da app, no minitab UI, o grupo Ecrãs começa por uma pasta Sistema com três entradas:

| Ecrã | Rota | Para que serve |
|---|---|---|
| Login | / |
A entrada da app. É o que responde quando alguém chega sem sessão. |
| Recuperar palavra-passe | /recover |
Pede o email e envia o link de reposição. |
| Registo | /register |
Cria uma conta nova. Só é servido com o registo público ligado. |
Existem sempre — não se criam nem se apagam. O que se faz é desenhá-los.
Desenhar um ecrã de sistema
Clica no nome e o ecrã abre no construtor, exactamente como qualquer outro:

Tens a paleta de Widgets à esquerda, a tela ao centro com os três tamanhos (Web, Tablet, Mobile) e as propriedades à direita. Podes mudar o que quiseres — pôr o logótipo, mudar textos, acrescentar um painel com uma imagem ao lado, mexer nas cores, escrever eventos em TypeScript.
O que não se muda está dito no próprio painel: "Ecrã de sistema — rota, parâmetros e acesso são fixos."

| O que é fixo | Porquê |
|---|---|
A rota (/register, /recover) |
É por ela que a app serve o ecrã; mudá-la partia a entrada. |
| Os parâmetros | Um ecrã de sistema não recebe parâmetros da rota. |
| O acesso | São públicos por natureza — não faria sentido exigir sessão ao ecrã que dá a sessão. |
Tudo o resto está lá: Template do ecrã (o layout), Dados,
Comportamento, Aspecto (a cor de fundo, uma imagem dos ficheiros da
app) e os Eventos — onLoad, onParamsChange, onUnload.
Dica
Um ecrã de entrada não tem de ser uma caixa a meio de um fundo branco. Metade dos ecrãs de entrada de aplicações internas ganham imenso com o logótipo da empresa e uma imagem à esquerda — e isso é meia dúzia de widgets arrastados para a tela.
Como os ecrãs se comportam em runtime
Entrada

A pessoa escreve Utilizador e Palavra-passe e carrega em Entrar. As contas são as contas da app — ver Utilizadores da app.
Se a app estiver em modo OAuth / OpenID Connect, a entrada é delegada no fornecedor de identidade da organização e o ecrã de Login serve de porta para esse fluxo.
Recuperar a palavra-passe
O link Esqueci-me da palavra-passe leva a /recover:

A pessoa escreve o email, carrega em Enviar, e recebe um link para repor a palavra-passe.
Atenção
"A recuperação de password envia o link pelo canal de email das settings de Notificações (tem de estar activo e com SMTP completo)." Sem esse canal configurado, o ecrã existe e não serve para nada — ninguém recebe o email. E a conta precisa de ter email preenchido no registo dela.
Registo público

O ecrã pede Nome, Email, Utilizador e Palavra-passe e cria a conta em Registar. Voltar ao login traz a pessoa de volta à entrada.
Ligar (ou desligar) o registo público
O interruptor está em Definições da app → Autenticação, na secção Registo e recuperação — "ecrãs de sistema públicos do runtime: registo de utilizadores e recuperação de palavra-passe".

| Campo | O que faz |
|---|---|
| Permitir registo público | Ligado, "qualquer visitante pode criar conta no ecrã /register. Desligado, o ecrã não é servido". |
| Role dos novos registos | "Role atribuída automaticamente a quem se regista." Ou Sem role. |
Grava com Gravar ("Autenticação gravada.").
Atenção
Nunca deixes o Role dos novos registos em «Sem role» numa app com registo
aberto. Quem se regista entra e não vê nada — e vai reportar isso como um
erro da aplicação. Cria um papel de entrada (por exemplo leitura, com
permissões mínimas) e aponta-o aqui.
E o inverso também é verdade: um registo aberto é uma porta aberta. Numa aplicação interna, o normal é ter o registo público desligado e criar as contas à mão nas definições. Liga-o só quando o público é mesmo público — um portal de clientes, um formulário de inscrição.
Abrir um ecrã normal ao público
Além dos três ecrãs de sistema, qualquer ecrã da app pode ser servido sem sessão. Abre o ecrã no construtor, clica numa zona vazia da tela para seleccionar o ecrã, e na secção Acesso das propriedades liga Ecrã público (sem sessão).
O aviso que aparece a seguir é a regra toda: "Servido sem login. Os dados vêm apenas de APIs públicas."
O que isto implica, na prática:
- O ecrã é servido a quem chegar pelo endereço, sem autenticação.
- Os dados que ele mostrar têm de vir de APIs marcadas como públicas. Uma API que não seja pública não devolve nada: "esta API não tem leitura pública — num ecrã sem sessão não carrega dados."
- Nas APIs de tabela, a secção Acesso público (sem sessão) liga operação a operação — "operações que os ecrãs públicos (sem login) podem chamar. Liga apenas o necessário."
Casos típicos: uma página de estado, um formulário de contacto, um catálogo. Ver APIs públicas.
Atenção
Um ecrã público mais uma API pública é exactamente isso: dados abertos à Internet. Liga a leitura pública só nas operações e nos campos que aceitas ver publicados, e nunca a escrita sem uma razão muito boa.
Perguntas frequentes
Onde está o ecrã de "definir nova palavra-passe"? É a segunda metade da recuperação e é servida pelo link que vai no email. O ecrã que desenhas é o que pede o email.
Mudei o ecrã de Login e continua a aparecer o antigo. O ecrã servido é o da versão que aquele endereço serve. Se editaste noutra versão, o endereço publicado continua a servir a que lhe está associada — ver Versões e publicação.
Posso esconder o link de recuperação?
Sim — o ecrã de Login é teu. Apaga o link na tela. O ecrã /recover continua a
existir, mas deixa de ter porta a partir da entrada.
O registo cria a conta mas a pessoa não consegue entrar. Confirma se a conta ficou Activo e se o Role dos novos registos aponta para um papel que existe. Uma conta activa sem papel entra e não vê nada, o que costuma ser lido como "não consegui entrar".