Ir para o conteúdo

Aplicativo Portal de Registro Jitterbit

Visão geral

O Jitterbit fornece o aplicativo Portal de Registro através do Jitterbit Marketplace. Construído com o Jitterbit App Builder, é uma interface front-end de registro e autenticação de autoatendimento construída na autenticação nativa de aplicações do App Builder. Oferece registro de conta, login e recuperação de senha, com autenticação de dois fatores (2FA) por código de verificação por email, políticas de senha e bloqueio configuráveis, e um painel administrativo para gerenciar usuários, modelos de mensagens e configurações.

Você baixa o aplicativo como um pacote de lançamento do App Builder (um arquivo .LP) do Marketplace e o instala em sua própria instância do App Builder, onde é possível configurá-lo e estendê-lo para se adequar ao seu processo.

Esta página descreve como o aplicativo funciona, seus recursos principais e modelo de dados, e aborda os pré-requisitos, como baixar e instalar o aplicativo, como configurá-lo para seu ambiente, como o acesso é controlado, as regras de negócio que utiliza e as etapas comuns de solução de problemas.

Como funciona

Visitantes anônimos acessam três pontos de entrada: registrar uma nova conta, fazer login ou recuperar uma senha. O registro e a recuperação são assistentes guiados que utilizam um código de verificação enviado por email:

%%{init: {"themeVariables": {"lineColor": "#6b7280", "edgeLabelBackground": "#f5f5f5"}}}%% flowchart TD V["Anonymous visitor"] --> R["Register"] V --> L["Log in"] V --> F["Forgot password"] R --> R1["Enter email and password;
policy and duplicate checks"] R1 --> R2["Verification code emailed"] R2 --> R3["Verify code"] R3 --> A["Account created,
identity assigned"] L --> L1["Lockout checks
by email and IP"] L1 --> L2["Validate credentials"] L2 --> S["Authenticated session"] F --> F1["Enter email;
recovery code emailed"] F1 --> F2["Verify code"] F2 --> F3["Set new password"] F3 --> L

Recursos principais

Ao instalar e configurar o Portal de Registro, ele fornece os seguintes recursos:

  • Registro de autoatendimento: Um assistente de duas etapas coleta um email e uma senha, aplica a política de senha configurada, confirma a senha e verifica duplicação de email sem revelar se o email já existe.

  • Autenticação de dois fatores: O registro e a recuperação de senha emitem um código de verificação com tempo limitado por email. Um novo código invalida qualquer código anterior.

  • Login com proteção de bloqueio: O login valida as credenciais e aplica limites de bloqueio por endereço de email e endereço IP de origem.

  • Recuperação de senha: Um assistente de três etapas identifica a conta, valida um código enviado por email e permite que o usuário defina uma nova senha compatível com a política.

  • Políticas configuráveis: Os administradores gerenciam a complexidade da senha, os limites de bloqueio e as configurações de ambiente a partir de painéis de política agrupados.

  • Mensagens personalizáveis: O conteúdo de emails, mensagens na tela e o texto dos termos de serviço são armazenados como registros de modelo editáveis, permitindo que os administradores alterem o texto sem alterar a lógica do aplicativo.

Modelo de dados

O Portal de Registro utiliza tabelas gerenciadas do App Builder e aplica limites de dados por sessão de usuário em vez de restrições de chave estrangeira física. Cada tabela possui um tipo de uso de dados, definido pela sua Opção de Instalação, que controla como seus dados são tratados quando o aplicativo é instalado em um novo ambiente.

Tabela Tipo de uso Finalidade
User Usuário Registros de identidade para contas auto-registradas, incluindo credenciais com hash, códigos de verificação, valores de expiração e mapeamento de grupo de identidade.
LoginAttempt Usuário Log de segurança de tentativas de autenticação (email, endereço IP, timestamp e sucesso), usado para auditoria e cálculos de bloqueio.
Session Usuário Estado de sessão por usuário, credenciais em cache e tokens de acesso, escopo para uma única sessão do navegador.
Template Usuário HTML localizado para emails, mensagens na tela e conteúdo de termos de serviço.
Parameter Compartilhado Configuração global: mapeamento de provedor de segurança, política de senha e limites de bloqueio de conta/IP.

Nota

Todas as tabelas, exceto Session, são auditadas.

Pré-requisitos

Para usar o Portal de Registro, você precisa do seguinte:

  • Uma licença Jitterbit Harmony com acesso ao App Builder. Isso habilita o download do Marketplace; se sua organização não possui licença para o App Builder, a ação Download app é substituída por uma ação de solicitação Get app (veja Baixar e instalar).

  • Uma instância do App Builder executando a versão 4.63 do App Builder, que é a versão para a qual o pacote atual foi desenvolvido. Cada pacote é instalado apenas em sua versão exata do App Builder; se sua instância estiver em uma versão diferente, entre em contato com o suporte do Jitterbit para solicitar um pacote correspondente.

  • Um banco de dados PostgreSQL para sua instância do App Builder.

  • Um caminho de email de saída da sua instância do App Builder. O app envia códigos de verificação e recuperação por email; sem uma configuração de email funcionando, esses códigos não são enviados.

Download e instalação

Baixar o app do Marketplace

  1. Faça login no portal do Harmony em https://login.jitterbit.com e abra Marketplace.

  2. Localize o app chamado Registration Portal. Use a barra de pesquisa ou, no painel Filtros, em Tipo, selecione App para exibir apenas apps.

  3. Clique no card do app para abrir o painel Detalhes. Revise os Requisitos do app (a versão do App Builder e o banco de dados necessário).

  4. Clique no link Ir para documentação do app para abrir esta documentação em uma nova aba e mantê-la aberta como referência.

  5. Execute uma das seguintes ações, dependendo se sua organização possui licença para o App Builder:

    • Baixar app: Se sua organização possui licença para o App Builder, clique em Baixar app, no card do app ou no painel Detalhes. Seu navegador salva o arquivo .LP em seu local de download, e uma notificação App Builder file downloaded successfully confirma o download.

    • Obter app: Se sua organização não possui licença para o App Builder, a ação é intitulada Obter app. O painel Detalhes exibe uma mensagem informando que é necessária uma licença do App Builder, com um botão Enviar. Clique em Enviar para solicitar que um representante entre em contato com você sobre o App Builder; uma notificação Message successfully sent confirma a solicitação.

Instalar o app no App Builder

Instale o arquivo .LP baixado na sua instância do App Builder:

  1. Faça login no App Builder e acesse o IDE.

  2. Em Deploy, clique em Install Release.

  3. Clique em + Package, depois em Procurar e selecione o arquivo .LP que você baixou.

  4. Clique em Salvar. O painel Release exibe as informações do pacote e, em seguida, o diálogo Package se fecha.

  5. Confirme que os detalhes estão corretos e clique em Instalar.

Para visualizar o conteúdo de um pacote antes de instalá-lo, clique no botão Manifest.

Modificando o app em um ambiente de desenvolvimento

A fonte de dados do app é instalada selada. Se você implantar o app em um ambiente de desenvolvimento e pretender modificá-lo, desele a fonte de dados para poder editar os objetos do app. Deixe-a selada em QA e produção para preservar a equivalência entre ambientes. Consulte Selar ou desselar uma fonte de dados.

Configuração e instalação

Após instalar o app em um novo ambiente, conclua as seguintes etapas para deixá-lo pronto para uso:

  1. Atribuir grupos de acesso. Adicione os usuários que configurarão o app ao grupo Registration Portal Administrator, que concede acesso a toda configuração e gerenciamento. Adicione o usuário anônimo do App Builder ao grupo Registration Portal Anonymous, que permite que visitantes não autenticados acessem as páginas de registro, login e recuperação de senha. Consulte Segurança e acesso.

  2. Definir o provedor de segurança. Nas configurações Parameter, atualize o valor ProviderId para corresponder ao seu host de autenticação do ambiente. Para saber como criar esse provedor, consulte Criar o provedor de segurança Application Authentication.

  3. Definir a identidade padrão. Defina o valor DefaultIdentityName como um contexto de segurança válido no seu ambiente de host. As novas contas são provisionadas em relação a essa identidade. Para configurar a conta de usuário genérica à qual ela é mapeada, consulte Configurar uma conta de usuário genérica; para entender como a identidade governa o acesso, consulte Segurança e acesso.

  4. Analise as políticas de segurança. Verifique os limites de bloqueio, períodos de bloqueio e configurações de complexidade de senha nos painéis Lockout Policy, Password Policy e Environment Settings. O app é instalado com estes padrões:

    • Lockout Policy: IP Attempts 50, IP Duration 60 minutos, Email Attempts 10 e Email Duration 5 minutos.

    • Password Policy: Comprimento mínimo de 8 caracteres, exigindo pelo menos uma letra maiúscula e um número.

  5. Customize templates. Edite os assuntos de email, conteúdo da mensagem e cópia dos termos de serviço nos registros Template.

Security and access

O Registration Portal usa segurança baseada em funções do App Builder com dois grupos de acesso:

  • Registration Portal Anonymous: Concede acesso a visitantes não autenticados às páginas de registro, login e recuperação de senha. Atribua o usuário anônimo do App Builder a este grupo para que esses pontos de entrada públicos sejam acessíveis.

  • Registration Portal Administrator: Concede acesso completo à configuração e gerenciamento do app, incluindo políticas, templates e a grade de usuários. Atribua os usuários que administram o app a este grupo.

O app provisiona contas usando um padrão semi-anônimo. Novos usuários recebem uma identidade de linha de base definida pela configuração DefaultIdentityName na tabela Parameter. Após um usuário se autenticar, essa identidade mapeada governa o que ele pode acessar. Os administradores podem elevar ou alterar o acesso de um usuário a partir da grade de gerenciamento.

Visitantes anônimos ficam restritos aos pontos de entrada de registro, login, recuperação de senha e à página de termos de serviço. O app aplica vários controles de segurança, implementados como regras de negócio:

  • Lockout por endereço de email e por endereço IP, usando limites configurados em Parameter.

  • Account-harvesting protection: Falhas de login retornam uma mensagem genérica, e registro e recuperação retornam feedback genérico, para que o app não revele se uma conta existe. Quando alguém tenta se registrar com um email que já tem uma conta, o registrante vê a mesma confirmação genérica, mas o app envia um email ao titular da conta existente sobre a tentativa de registro, para que ele possa fazer login em sua conta ou ignorar a mensagem se não foi ele.

  • Verification-code expiry: Os códigos expiram após uma janela configurada, e emitir um novo código invalida o anterior.

Business rules

A lógica do Registration Portal é implementada como regras de negócio do App Builder. Os nomes das regras seguem a convenção Target (Purpose or Subtype) Descriptor do App Builder, então a palavra inicial identifica a tabela na qual a regra atua.

Login and lockout rules

Rule Purpose
LoginAttempt (Validation) Email Address Lockout Interrompe o login quando as tentativas falhadas do email excedem o limite configurado.
LoginAttempt (Validation) IP Address Lockout Interrompe o login quando as tentativas falhadas do endereço IP excedem o limite configurado.
Session (Validation) Valid Email and Password Valida credenciais e retorna uma mensagem de falha genérica para evitar revelar detalhes da conta.

As validações de bloqueio usam duas subconsultas de suporte, Count Email Attempts e Count IP Attempts, que contam tentativas falhadas dentro da janela de limite definida em Parameter.

Registration and identity rules

Rule Purpose
User (Validation) Duplicate Email Verifica um email existente durante o registro sem revelar se existe.
User (Update) Default Identity Name Atribui a identidade padrão a uma nova conta no registro.

Two-factor rules

Rule Purpose
User (Validation) Email Verification Code Expired Determina se um código de verificação passou seu tempo de expiração.
User (Update) Email Verification Code Emite um novo código de verificação e invalida qualquer código anterior.

Solução de problemas

Um usuário está bloqueado no login

  • Sintoma: Um usuário não consegue fazer login e recebe uma mensagem de bloqueio, mesmo com a senha correta.

  • Possível causa: O número de tentativas de login com falha para esse endereço de email ou endereço IP excedeu o limite de bloqueio configurado em Parameter.

  • Resolução: Aguarde o período de bloqueio configurado passar ou solicite a um administrador que ajuste os limites nas configurações da Política de Bloqueio.

A mensagem de erro de login não diz o que estava errado

  • Sintoma: Um login com falha retorna uma mensagem genérica em vez de indicar se o email ou a senha estava incorreta.

  • Possível causa: Isso é esperado. Para evitar coleta de contas, o aplicativo retorna uma falha genérica em vez de confirmar qual valor estava errado.

  • Resolução: Nenhuma ação é necessária. Oriente os usuários a confirmar seu email e senha.

Um código de verificação é rejeitado como expirado

  • Sintoma: Um usuário insere um código de registro ou recuperação e ele é rejeitado como expirado.

  • Possível causa: O código passou da janela de validade ou um código mais recente foi emitido, o que invalida o anterior.

  • Resolução: Solicite um novo código e use o mais recente.

Para mais ajuda, revise seus logs do App Builder e entre em contato com o suporte do Jitterbit.