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.comFullName
- 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