Pular para o conteúdo principal

WebAuthn

Visão Geral

Estamos encantados em informar aos clientes do Casdoor que agora o Casdoor suporta login com WebAuthn. Isso significa que você pode fazer login usando suas identificações biológicas, como impressões digitais ou reconhecimento facial, ou até mesmo U-disks, desde que seu dispositivo suporte esses métodos de autorização incríveis e o WebAuthn.

O que é WebAuthn?

WebAuthn é a API de Autenticação Web, uma especificação escrita pelo W3C e FIDO em colaboração com Google, Mozilla, Microsoft, Yubico e outros. Esta API permite que servidores registrem e autentiquem usuários usando criptografia de chave pública em vez de uma senha. Ela possibilita que servidores se integrem com autenticadores fortes incorporados aos dispositivos, como o Windows Hello ou o Touch ID da Apple.

Simplificando, o WebAuthn exige que os usuários gerem um par de chaves pública-privada e forneçam a chave pública ao site. Quando um usuário deseja fazer login em um site, a web gera um número aleatório e pede ao usuário para criptografá-lo com sua chave privada e enviar o resultado de volta. Ao receber o resultado, o site usa a chave pública para descriptografá-lo. Se o número descriptografado corresponder ao número aleatório gerado anteriormente, o usuário é considerado um usuário legítimo e recebe acesso para fazer login. A combinação da chave pública e informações necessárias, como o nome de usuário ou informações sobre o autorizador do usuário, é chamada de Credencial WebAuthn, que é armazenada pelo site.

O par de chaves pública-privada é exclusiva e unicamente associado a três informações: o nome de usuário do usuário, o autorizador do usuário e a URL do site. Isso significa que se a combinação de (nome de usuário do usuário, autorizador do usuário e URL do site) for a mesma, o par de chaves deve ser idêntico, e vice-versa.

Para obter mais informações detalhadas sobre a tecnologia WebAuthn, você pode visitar https://webauthn.guide/.

Como usar o WebAuthn no Casdoor?

Na página de login, você já deve ter notado a opção de fazer login usando WebAuthn. No entanto, se você ainda não tem uma credencial WebAuthn (que pode ser comparada a uma senha WebAuth), este tutorial mostrará como criar e gerenciar uma credencial e, em seguida, fazer login usando-a.

Passo 0: Modificar as configurações e habilitar a autenticação WebAuthn

No arquivo conf/app.conf, você pode encontrar a seguinte configuração:

origin = "http://localhost:8000"

Por favor, certifique-se de que esta configuração corresponda exatamente à URL do seu site.

Nota: Apenas HTTPS é suportado para WebAuthn, a menos que você esteja usando localhost.

Em seguida, faça login como administrador e vá para a página de edição do seu aplicativo. Ative a opção "Habilitar login WebAuthn". Por padrão, esse recurso não está habilitado.

Passo 1: Ir para a página "Minha Conta"

Navegue até a página da conta. Nesta página, você deve ver o botão "Adicionar Credencial WebAuthn" e uma lista exibindo todas as credenciais WebAuthn que você registrou anteriormente.

WebAuthn1

Clique no botão e siga as instruções do seu dispositivo para registrar uma nova credencial no Casdoor. Você pode remover quaisquer credenciais usando o botão "delete" na lista.

Passo 2: Fazer login usando WebAuthn

Antes de iniciar este passo, certifique-se de ter saído do Casdoor.

Vá para a página de login, selecione o método de login WebAuthn, insira seu nome de usuário e clique no botão de login. Siga as instruções do seu dispositivo.

(Por exemplo, se você estiver usando impressão digital e Windows Hello, você deve ver algo assim)

WebAuthn2

Você então será logado com sucesso.