Assim que o navegador (cliente) envia uma requisição ao servidor com o nome de usuário (ou um identificador similar), o servidor responde com as opções de autenticação que o cliente utilizará para iniciar o processo de autenticação através da API navigator.credentials.get() do navegador.
Esta resposta fornece os parâmetros e restrições necessários ao navegador para gerar uma assertion de autenticação WebAuthn usando o authenticator do usuário (por exemplo, chave de segurança, dispositivo biométrico).
Exemplo de Resposta JSON:
{
"challenge": "Z3lVbWV5YXBpbmdvZG90IQ",
"timeout": 60000,
"rpId": "example.com",
"allowCredentials": [
{
"type": "public-key",
"id": "dXNlckNyZWRJZA",
"transports": ["usb", "nfc", "ble"]
}
],
"userVerification": "preferred"
}
Veja abaixo uma descrição dos campos:
Antes de a resposta ser enviada ao cliente, o evento OnWebAuthnAuthenticationOptionsResponse é chamado, permitindo que você personalize a resposta.