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.