Celem jest weryfikacja podpisanego potwierdzenia dostarczonego przez przeglądarkę, które dowodzi, że użytkownik posiada klucz prywatny pierwotnie zarejestrowany. W ten sposób użytkownik jest bezpiecznie logowany. Po interakcji użytkownika z urządzeniem uwierzytelniającym (np. odciskiem palca, kluczem bezpieczeństwa) przeglądarka wysyła żądanie POST do serwera z wynikiem uwierzytelniania. Poniżej znajduje się przykład w formacie JSON:
{
"id": "credential-id",
"rawId": "base64url-encoded-credential-id",
"type": "public-key",
"response": {
"clientDataJSON": "base64url",
"authenticatorData": "base64url",
"signature": "base64url",
"userHandle": "optional"
}
}
Gdy serwer otrzyma to żądanie pod skonfigurowanym punktem końcowym (np. /sgcWebAuthn/Authentication/Verify), musi zweryfikować następujące kroki:
Jeśli wszystkie weryfikacje przebiegną pomyślnie, uwierzytelnianie zakończy się powodzeniem i zostanie wywołane zdarzenie OnWebAuthnAuthenticationSuccessful.
Jeśli którykolwiek ze sprawdzań zakończy się niepowodzeniem, wywoływane jest zdarzenie OnWebAuthnAuthenticationError z podaniem przyczyny błędu.