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.
Voltar ao desenho inicial
Mexeste no Login e queres o que estava? No painel UI, no grupo Sistema, abre o menu ⋯ do ecrã e escolhe Repor o ecrã inicial. Depois de confirmares, o ecrã volta ao desenho com que a app foi criada, na língua da app; o identificador, a rota e o acesso não mudam, e os outros ecrãs de sistema continuam a apontar-lhe. Se o ecrã estiver aberto no construtor, recarrega sozinho. Fica registado na história da app, como qualquer gravação.
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.
O modo OAuth / OpenID Connect ainda não está disponível: a entrada é sempre com utilizador e palavra-passe.
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.
O campo aceita o email ou o nome de utilizador. Um identificador com «@» procura-se primeiro pelo email, para uma conta cujo nome seja o email de outra pessoa não ficar à frente da conta certa.
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.
O link do email aponta sempre para um endereço que a instalação conhece: o domínio próprio da app, quando o pedido chegou por ele, ou o Endereço público das Definições da plataforma (em multitenant, o endereço do tenant). Sem nenhum dos dois, a recuperação não envia o email e o ecrã mostra um erro.
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.
O registo recusa um nome de utilizador que seja o email de outra conta, e um email que seja o nome de utilizador de outra: são os dois identificadores por onde a recuperação da palavra-passe procura a conta, e não podem apontar para pessoas diferentes.
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".