Autenticação WebAuthn | Resultado

O objetivo é validar a assertion assinada fornecida pelo navegador, que prova que o usuário possui a chave privada originalmente registrada. É isso que faz o login seguro do usuário. Depois que o usuário interage com seu autenticador (por exemplo, impressão digital, chave de segurança), o navegador envia uma requisição POST de volta ao servidor com o resultado da autenticação. Veja abaixo um exemplo json:

 

{
  "id": "credential-id",
  "rawId": "base64url-encoded-credential-id",
  "type": "public-key",
  "response": {
    "clientDataJSON": "base64url",
    "authenticatorData": "base64url",
    "signature": "base64url",
    "userHandle": "optional"
  }
}

 

Quando o servidor recebe esta requisição no endpoint configurado (por exemplo, /sgcWebAuthn/Authentication/Verify), ele deve validar os seguintes passos:

 

 

Se todas as validações estiverem corretas, a autenticação é bem-sucedida e o evento OnWebAuthnAuthenticationSuccessful é chamado.

 

Se alguma verificação falhar, o evento OnWebAuthnAuthenticationError é chamado com o motivo do erro.