Ir para o conteúdo

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

Visão Geral

O provedor de segurança de 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. Por exemplo, os aplicativos podem querer:

  • Manter suas próprias contas de usuário.
  • Valide 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.

O provedor de segurança de autenticação de aplicativo é fundamentalmente uma forma de autenticação de usuário externo. No entanto, em vez de redirecionar os clientes para um provedor de identidade (IdP) externo, os clientes são redirecionados para uma página do Vinyl. Caso contrário, o fluxo é o mesmo.

Nota

Consulte Configurar autenticação do aplicativo para obter etapas sobre como configurar a autenticação de aplicativo.

Configuração

Parâmetros

Parâmetro Padrão Descrição Exemplo
Caminho de login Nenhum O caminho relativo da raiz do Vinyl para a página de login. O caminho deve começar com '/'. O caminho deve ser codificado por URL. /app/AppAuth/Sign%20In

Autenticação

Um aplicativo autentica clientes inserindo no Authenticate objeto de dados públicos. O Authenticate objeto de dados requer um ProviderId. O ProviderId identifica o provedor de segurança de autenticação de aplicativo. Além disso, o pedido deve fornecer uma ou ambas as seguintes reivindicações:

  • Name - Reivindicação de nome de usuário, por ex. arthur.dent.
  • NameIdentifier - Identificador persistente e opaco. [1]

O aplicativo pode ter como alvo as seguintes colunas para fornecer declarações adicionais:

  • EmailAddress - Endereço Email, por exemplo, arthur.dent@example.com
  • FullName - Nome completo, por ex. Artur Dent.
  • DisplayName - Nome de exibição, por ex. Arthur.
  • PhoneNumber - Número de telefone.
  • Group - Tipo de string, o nome do grupo que você deseja adicionar. Limitado a um único grupo.
  • AppUserId - Identificador interno do usuário do aplicativo.

O Vinyl mapeará a identidade fornecida para uma conta de usuário. Se a identidade não puder ser mapeada para uma conta de usuário do Vinyl e o Provisionamento de Usuário tiver sido habilitado, o Vinyl tentará provisionar um usuário. Se o provisionamento de usuários não estiver habilitado ou a conta não puder ser provisionada, ocorrerá um erro.

Uma vez conectado, o Vinyl redirecionará automaticamente o usuário. Se o processo de login começou com um desafio, o Vinyl redirecionará o usuário para a página que emitiu o desafio. Caso contrário, o Vinyl redirecionará o usuário para a página padrão, seja a página padrão do provedor de segurança ou a página padrão do usuário.

Desafio

Os aplicativos podem iniciar o processo de login emitindo um desafio. Para lançar um desafio, insira no Challenge objeto de dados públicos. O Vinyl então redirecionará o cliente para o provedor de segurança de autenticação de aplicativo.

O Challenge objeto de dados requer um ProviderId. O ProviderId identifica o provedor de segurança de autenticação de aplicativo.

Projeto

O usuário Anônimo deverá ter acesso ao aplicativo e às páginas que constituem o formulário de login. Considere criar um aplicativo separado para fins de autenticação. Normalmente, as opções Mostrar no menu e Tratar como aplicativo padrão estarão desativadas para este aplicativo.

Ao direcionar o AppUserId coluna, os desenvolvedores podem fornecer um identificador interno. Embora o Vinyl não faça uso do AppUserId, ele está disponível para desenvolvedores por meio do who('appuserid') função.

Se o aplicativo ou o provedor de segurança pertencerem a uma região, eles deverão pertencer à mesma região.

Limitações

  • Os desenvolvedores só podem fornecer uma única reivindicação de grupo.
  • O provedor de Autenticação de Aplicativo oferece suporte apenas às declarações conhecidas mencionadas acima: ele não oferece suporte a declarações arbitrárias.
  • O provedor de autenticação de aplicativo pode ser usado para conectar usuários ao Vinyl. Não pode ser usado para autorizar usuários que já estejam conectados.

[1] Perfis de identificador de nome e gerenciamento no SAML 2.0