El objetivo es validar la aserción firmada proporcionada por el navegador, que demuestra que el usuario posee la clave privada registrada originalmente. Esto es lo que permite autenticar al usuario de forma segura. Después de que el usuario interactúa con su autenticador (p. ej., huella dactilar, clave de seguridad), el navegador envía una solicitud POST al servidor con el resultado de la autenticación. A continuación encontrará un ejemplo en JSON:
{
"id": "credential-id",
"rawId": "base64url-encoded-credential-id",
"type": "public-key",
"response": {
"clientDataJSON": "base64url",
"authenticatorData": "base64url",
"signature": "base64url",
"userHandle": "optional"
}
}
Cuando el servidor recibe esta solicitud en el endpoint configurado (p. ej., /sgcWebAuthn/Authentication/Verify), debe validar los siguientes pasos:
Si todas las validaciones son correctas, la autenticación es exitosa y se llama al evento OnWebAuthnAuthenticationSuccessful.
Si alguna verificación falla, se llama al evento OnWebAuthnAuthenticationError con el motivo del error.