Configurar autenticação de aplicativo no Jitterbit App Builder
O App Builder suporta Autenticação de Aplicativo como um tipo de provedor de segurança. A Autenticação de Aplicativo permite que os desenvolvedores criem seus próprios formulários de login. Os desenvolvedores podem autenticar clientes usando uma abordagem adequada ao aplicativo.
Você pode querer configurar a Autenticação de Aplicativo se, por exemplo, desejar que seu aplicativo:
- Mantenha suas próprias contas de usuário
- Valide credenciais com um terceiro
- Verifique um número de telefone enviando um Código de Acesso Único (OTP)
- Permita que os clientes façam login de forma semi-anônima
Nota
Consulte o artigo Aplicativo Anônimo para obter informações sobre como configurar o acesso de Usuário Anônimo a aplicativos.
Requisitos de autenticação de aplicativo
As seguintes informações precisam ser configuradas em cada Ambiente em que o App reside (por exemplo, Dev, QA, Produção) para que a Autenticação de Aplicativo funcione corretamente:
- Página de login configurada como um aplicativo separado
- Grupo de Provedor de Segurança de Autenticação de Aplicativo
- Conta(s) de Usuário Genérica(s)
- Grupos com Funções atribuídas
- Reino do App Builder configurado para o App
Além dos requisitos acima, dentro do próprio App você precisará configurar:
- Regra de Autenticação
- Tabela de Sessão com Campos de Login
- Opcional: Validação de Senha
- Tabela de Usuário em Nível de App
- App Builder como uma Fonte de Dados adicionada ao App e vinculada à sua Fonte de Dados principal
Configurar página de login como aplicativo separado
A página de Login deve ser configurada como um Aplicativo autônomo dentro do seu ambiente de aplicativo e construída a partir da mesma fonte de dados que seu Aplicativo principal. Ela será usada apenas para fins de autenticação e, portanto, precisa de acesso aos dados de credenciais do Usuário.
Esta página de Login é totalmente personalizável. Há algumas informações necessárias nesta página (listadas abaixo) e você pode desejar adicionar informações adicionais conforme necessário pelos requisitos específicos do seu aplicativo.
Nota
Se o Usuário Anônimo tiver acesso à página inicial padrão de um aplicativo (configurada nas Configurações do App), essa página será carregada automaticamente em vez da página de login padrão do App Builder (/auth/login
).
Requisitos da página de login
- Painel projetado para funcionar com Sessão
- A página inteira deve ser acessível pelo Usuário Anônimo
- No mínimo, a página requer um campo de Nome de Usuário (editável)
- Opcionalmente, você pode incluir um campo de Senha (pode ter validação de senha configurada)
-
Botão que permite ao Usuário acionar a Regra de Autenticação criada para a Autenticação do Aplicativo. Por exemplo: Login.
Nota
Este Botão não deve linkar para nenhuma Página. Ele deve apenas executar o Evento de Autenticação, que então carregará automaticamente a página do App Builder definida como 'Página Padrão' nas configurações do Provedor de Segurança.
-
Opcional: link de Esqueceu a Senha, link de Inscrever-se
Provedor de segurança de autenticação do aplicativo
O Provedor de Segurança de Autenticação do Aplicativo precisa ser configurado para o aplicativo.
Para configurar o provedor de segurança de autenticação do aplicativo
- Navegue até o IDE
- Selecione Provedores de Segurança
-
Clique em + Autenticação de Usuário no painel de Autenticação de Usuário e Nomeie o Provedor de Segurança. Geralmente, isso é nomeado de acordo com o aplicativo para o qual está provisionando. Por exemplo: ApplicationManager.
- Tipo = Autenticação de Aplicativo
- Prioridade = gerada automaticamente pelo App Builder
- Habilitado = deve estar habilitado para ser usado. Deixe esta configuração desativada (desabilitada) até que todas as informações necessárias estejam configuradas e você esteja pronto para testar a Autenticação do Aplicativo.
- Identificador = gerado automaticamente pelo App Builder. Se você estiver parametrizando essas informações, isso deve estar na tabela de Parâmetros como o ID do Provedor.
- Na seção Autenticação, selecione Mostrar no Formulário de Login.
- Para Página Padrão, selecione a Página para a qual você deseja que um Usuário vá em seu Aplicativo após autenticar a partir da Página de Login. Se você não ver a Página que deseja na lista inicialmente, navegue de volta para seu Aplicativo e torne a Página Compartilhada e volte para selecioná-la.
- Provisionamento não é recomendado para ser populado.
-
Clique em + Propriedade em Propriedades. Selecione LoginPath como o Parâmetro e, para o Valor, navegue até a página de login de autenticação do aplicativo e selecione a URL após o Nome do Domínio.
- Certifique-se de incluir a barra inicial com as informações que você copiar da URL. Por exemplo:
/app/Application%20Manager%20LogIn/LogIn%3F%24activepanel%3DA?$activepanel
- Certifique-se de incluir a barra inicial com as informações que você copiar da URL. Por exemplo:
-
Salvar o registro
Contas de usuário genéricas
Para usar a Autenticação de Aplicativo, você precisa de pelo menos uma Conta de Usuário criada para esse propósito; pode ser necessário ter mais de uma Conta de Usuário dependendo dos requisitos do seu aplicativo. Crie um(s) Usuário(s) do Construtor de Aplicativos e nomeie-os de acordo com o nível que você deseja que eles vejam dentro do aplicativo após a autenticação. Por exemplo: ApplicationManagerUser, ApplicationManagerDeveloper, ApplicationManagerAdministrator.
A Conta de Usuário é o que o Construtor de Aplicativos usa para pegar o Usuário especificado e autenticar. Se você precisar de Grupos atribuídos a Usuários que são autenticados por meio dessa Conta de Usuário criada, deve adicionar o(s) Grupo(s) nesta etapa.
Em seguida, você criará uma Identidade para o(s) novo(s) Usuário(s). Aqui é onde você seleciona o grupo do Provedor, que é o provedor de Autenticação de Aplicativo que você criou, o Usuário (o usuário real do Construtor de Aplicativos e deve ser definido como padrão) e um Nome. O Nome é o Nome real da Identidade que você criou. Muitas vezes, o Nome é o mesmo que o Usuário. O Identificador não precisa ser definido.
Reino do Construtor de Aplicativos configurado para o aplicativo
- Um Reino deve ser configurado contendo seu aplicativo e o aplicativo de Login
- Este Reino deve conter quaisquer Grupos usados pelos Usuários de Autenticação de Aplicativo
- O Provedor de Segurança de Autenticação de Aplicativo também fará parte do Reino
Para mais informações sobre Reinos e como configurá-los, consulte o artigo Reinos.
Regra de autenticação
Em seguida, você configurará uma Regra de Autenticação a ser usada pela Autenticação de Aplicativos. Crie uma Regra de Negócio CRUD XP que tenha como alvo a visualização de Autenticação da Fonte de Dados do Construtor de Aplicativos. A Fonte de Dados de Origem deve ser a Fonte de Dados principal do aplicativo, e a Fonte de Dados de Destino será a Fonte de Dados do Construtor de Aplicativos, a Ação será Inserir. Nomeie esta Regra algo como Autenticar (Autenticação do Usuário).
Quando você for projetar a Regra CRUD no SQL de Negócios, precisará incluir a tabela de Usuários (a tabela que armazena as credenciais do Usuário), a tabela de Sessões e, dependendo de como você armazena qual Usuário está fazendo login, pode querer incluir uma tabela(s) adicional(is), como Parâmetro.
A Junção Interna neste cenário é no Nome de Usuário que você deseja que eles usem, para que, se o Nome de Usuário for igual a algo nessa tabela, o Usuário poderá fazer login no aplicativo. Se a Validação de Senha também estiver sendo configurada, ela estará no mesmo Evento que esta Regra CRUD XP.
As seguintes 4 Colunas são necessárias para serem configuradas para a Regra de Autenticação:
- A Regra deve ter um GUID gerado recentemente (newUUID()) configurado para o alvo AuthenticateID
- O ID do provedor de segurança da Autenticação de Aplicativos, isso deve ter como alvo ProviderId
- A Regra precisa do que você está passando como Nome de Usuário do aplicativo. Isso é o que identifica o Usuário para que o Construtor de Aplicativos saiba quem é a pessoa que fez login. Isso é o que está sendo usado pela Auditoria no Construtor de Aplicativos. É recomendado usar Email ou Nome de Usuário, e esta Coluna deve ter como alvo AppUserId.
- Um Nome de Usuário do Provedor, este é o Usuário ao qual eles têm acesso provisionado no aplicativo. Isso pode ser dinâmico ou codificado, mas é necessário e deve ter como alvo o Name.
Habilitar provedor de segurança
Por fim, com todas as informações descritas neste artigo configuradas, você deve ser capaz de Habilitar o Provedor de Segurança e testar para ver se a Autenticação de Aplicativos agora está funcionando para o seu aplicativo.
Configuração opcional para lidar com usuários não autenticados
Quando um Usuário não Autenticado navega para uma página onde a Autenticação de Aplicativo está habilitada, você pode controlar para onde o App Builder os redireciona. Se você deseja que um Usuário seja redirecionado para a página de login padrão, onde pode selecionar um link para acessar a página de login do aplicativo, nenhuma configuração adicional é necessária. No entanto, se você deseja que um Usuário seja redirecionado automaticamente para a página de login do aplicativo, são necessárias 2 configurações adicionais:
- Autenticação Padrão - Isso informa ao App Builder qual provedor de segurança você deseja usar para autenticar usuários dentro de um determinado aplicativo.
- Redirecionar em Desafio - Isso informa ao App Builder para pular o formulário de login ao redirecionar usuários para o seu provedor de Autenticação de Aplicativo.
Para configurar o provedor de autenticação padrão
- Faça login no App Builder como um Usuário administrador
- Clique no botão IDE
- Clique no botão Provedores de Segurança
- No painel de Autenticação de Usuário, clique em Mais > Gerenciar Aplicações
- Clique no ícone Editar (Lápis) para o aplicativo
- Defina Autenticação Padrão para o provedor de Autenticação de Aplicativo
- Clique no botão Salvar
Para configurar redirecionar em desafio
- Clique no botão Voltar para retornar à página Provedores de Segurança
- No painel de Autenticação de Usuário, clique no ícone Detalhes (Chevron) para o seu provedor de Autenticação de Aplicativo
- Clique no botão Editar
- Marque a opção Redirecionar em Desafio
- Clique no botão Salvar