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.
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)
Você então será logado com sucesso.