Ir para o conteúdo

Configurar Autenticação de Aplicativo

O Vinyl oferece suporte à Autenticação de Aplicativo como um tipo de provedor de segurança. A autenticação de aplicativos 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, quiser que seu aplicativo:

  • Manter suas próprias contas de usuário
  • Validar credenciais com externo
  • Verifique um número de telefone enviando uma mensagem de texto com uma senha única (OTP)
  • Permitir que os clientes façam login de forma semi-anônima

Nota

Consulte o Inscrição Anônima para obter informações sobre como configurar o acesso de usuário anônimo a aplicativos.

Requisitos de Autenticação de Aplicativo

As informações a seguir precisam ser configuradas em cada ambiente em que o aplicativo reside (por exemplo, Dev, QA, Produção) para que a autenticação do aplicativo funcione corretamente:

  • Página de login configurada como um aplicativo separado
  • Grupo de provedores de segurança de autenticação de aplicativos
  • Conta(s) de usuário genérica(s)
  • Grupos com funções atribuídas
  • Vinyl Realm configurado para 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ários em nível de aplicativo
  • Vinyl como fonte de dados adicionado ao aplicativo e vinculado à sua fonte de dados primária

Configurar Página de Login Como Aplicativo Separado

Login personalizado

Exemplo de página de login para autenticação de aplicativo

A página de login deve ser configurada como um aplicativo independente no ambiente do seu aplicativo e construída a partir da mesma fonte de dados do seu aplicativo principal. Será utilizado apenas para fins de autenticação e, portanto, necessita 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 adicionar informações adicionais conforme necessário de acordo com os 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 aplicativo), ele carregará automaticamente essa página em vez da página de login padrão do Vinyl (/auth/login).

Requisitos da Página de Login

  • Painel projetado para execução fora da Sessão
  • A página inteira deve ser acessível pelo Usuário Anônimo
  • No mínimo, a página requer um campo Nome de usuário (editável)
  • Opcionalmente você pode incluir um campo Senha (pode ter a Validação de Senha configurada)
  • Botão que permite ao usuário disparar a Regra de Autenticação criada para Autenticação de Aplicativo. Por exemplo: Entrar.

Nota

Este botão não deve vincular a nenhuma página. Ele deve executar apenas o evento Authenticate, que carregará automaticamente a página Vinyl definida como 'Página padrão' nas configurações do provedor de segurança.

  • Opcional: link Esqueci a senha, link Inscreva-se

Provedor de Segurança de Autenticação de Aplicativo

O Provedor de Segurança de Autenticação de Aplicativo precisa ser configurado para o aplicativo.

Para Configurar o Provedor de Segurança de Autenticação de Aplicativo

  1. Navegue até o IDE
  2. Selecione Provedores de segurança
  3. Clique em + Autenticação de usuário no painel Autenticação de usuário e em Nomear o Provedor de segurança. Geralmente, isso é nomeado de acordo com o aplicativo para o qual está sendo provisionado. Por exemplo: ApplicationManager.

    • Tipo = Autenticação do aplicativo
    • Prioridade = gerado automaticamente pelo Vinyl
    • Ativado = deve estar habilitado para ser usado. Deixe essa configuração desativada (desativada) até que todas as informações necessárias sejam configuradas e você esteja pronto para testar a Autenticação do Aplicativo.
    • Identificador = gerado automaticamente pelo Vinyl. Se você estiver parametrizando essas informações, é isso que deve estar na tabela Parâmetros como ID do Provedor.
    • Na seção Autenticação, selecione Mostrar no formulário de login.
    • Para Página padrão, selecione a página que você deseja que um usuário acesse em seu aplicativo após a autenticação na página de login. Se você não vir a página desejada na lista inicialmente, navegue de volta ao seu aplicativo, torne a página compartilhada e volte para selecioná-la.
    • Provisionamento não é recomendado para ser preenchido
  4. Clique em + Propriedade em Propriedades. Selecione LoginPath como Parâmetro e, para o próprio Valor, navegue até a página de login de autenticação do aplicativo e selecione o URL após o nome de domínio.

    • Certifique-se de incluir a barra inicial com as informações que você copiou do URL. Por exemplo: /app/Application%20Manager%20LogIn/LogIn%3F%24activepanel%3DA?$activepanel
  5. Salve 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 essa finalidade. Você pode querer ter mais de uma Conta de Usuário, dependendo dos requisitos do seu aplicativo. Crie um(s) usuário(s) de Vinyl e nomeie-os de acordo com o nível que você deseja que eles vejam no aplicativo após a autenticação. Por exemplo: ApplicationManagerUser, ApplicationManagerDeveloper, ApplicationManagerAdministrator.

A Conta de Usuário é o que o Vinyl usa para pegar o Usuário especificado e autenticá-lo. Se você precisar de Grupos atribuídos a usuários autenticados por meio desta conta de usuário criada, você deverá adicionar o(s) Grupo(s) nesta fase.

Em seguida, você criará uma Identidade para os novos usuários. É aqui que você seleciona o grupo Provedor, que é o provedor de autenticação de aplicativo que você criou, o usuário (o usuário real do Vinyl e deve ser o padrão) e um nome. O Nome é o nome real da identidade que você criou. Muitas vezes o Nome é igual ao Usuário. O identificador não precisa ser definido.

Identidade

Configurando a identidade da(s) conta(s) de usuário

Vinyl Realm Configurado para Aplicativo

  • Um Realm deve ser configurado contendo sua aplicação e o aplicativo Login app
  • Este reino deve conter quaisquer grupos usados pelos usuários de autenticação de aplicativos
  • O Provedor de Segurança de Autenticação de Aplicativo também fará parte do Realm

Para obter mais informações sobre Realms e como configurá-los, consulte o Realms artigo.

Regra de Autenticação

Em seguida, você configurará uma Regra de Autenticação a ser usada pela Autenticação de Aplicativo. Crie uma regra de negócios CRUD XP que tenha como alvo a visualização Authenticate da fonte de dados do Vinyl. A Fonte de Dados de Origem deve ser a Fonte de Dados primária do aplicativo, e a Fonte de Dados de Destino será a Fonte de Dados do Vinyl, a Ação será Inserir. Nomeie esta regra como Autenticar (autenticação do usuário).

Ao projetar a regra CRUD no Business SQL, você precisará trazer a tabela User (a tabela que armazena suas credenciais de usuário), a tabela Session e, dependendo de como você armazena qual usuário está fazendo login como o quê, você talvez você queira trazer tabelas adicionais, como Parâmetro.

A junção interna neste cenário está no nome de usuário que você deseja que eles usem, de modo que se o nome de usuário for igual a algo naquela tabela, o usuário poderá fazer login no aplicativo. Se a validação de senha também estiver sendo configurada, ela ocorrerá no mesmo evento desta regra CRUD XP.

As 4 colunas a seguir devem ser configuradas para a regra de autenticação:

  1. A regra deve ter um GUID recém-gerado (newUUID()) configurado para Target AuthenticateID
  2. O ID do provedor de segurança de autenticação de aplicativo, que deve ser Target ProviderId
  3. A regra precisa de tudo o que você está passando como nome de usuário do aplicativo. É isso que marca o usuário para que o Vinyl saiba quem é a pessoa que fez login. Isto é o que está sendo usado pela Auditoria em Vinyl. É recomendado usar Email ou Nome de usuário, e esta coluna deve ter como destino AppUserId.
  4. Um nome de usuário do provedor, este é o usuário ao qual eles recebem acesso no aplicativo. Isso pode ser dinâmico ou codificado, mas é obrigatório e deve ter como alvo o Nome.

Habilitar Provedor de Segurança

Por fim, com todas as informações descritas neste artigo configuradas, você poderá ativar o provedor de segurança e testar para ver se a autenticação do aplicativo agora está funcionando para 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 Vinyl o redireciona. Se você quiser que um usuário seja redirecionado para a página de login padrão, onde ele pode selecionar um link para acessar a página de login do aplicativo, nenhuma configuração adicional será necessária. Se, no entanto, você quiser que um usuário seja redirecionado automaticamente para a página de login do aplicativo, serão necessárias 2 configurações adicionais:

  1. Autenticação Padrão - Informa ao Vinyl qual provedor de segurança você deseja usar para autenticar usuários em um determinado aplicativo.
  2. Redirect On Challenge - Isso instrui o Vinyl a ignorar 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

  1. Faça login no Vinyl como usuário administrador
  2. Clique no botão IDE
  3. Clique no botão Provedores de segurança
  4. No painel Autenticação do usuário, clique em Mais > Gerenciar aplicativos
  5. Clique no ícone Editar (Lápis) do aplicativo
  6. Defina Autenticação padrão para o provedor de autenticação de aplicativo
  7. Clique no botão Salvar

Para Configurar o Redirecionamento no Desafio

  1. Clique no botão Voltar para retornar à página Provedores de segurança
  2. No painel Autenticação do usuário, clique no ícone Detalhes (Chevron) do seu provedor de autenticação de aplicativo
  3. Clique no botão Editar
  4. Marque a opção Redirecionar no desafio
  5. Clique no botão Salvar

Recursos