Bu kayıt seçenekleri isteği, WebAuthn kaydını güvenli bir şekilde başlatmak (bootstrap) için gereklidir. Sunucudan şunları ister:
Tarayıcı, güvenli bir WebAuthn kimlik bilgisi kaydı başlatmak için sunucudan kimlik bilgisi oluşturma seçeneklerini almalıdır. Bu tipik olarak tarayıcıdan bir sunucu uç noktasına bir HTTPS POST isteği aracılığıyla yapılır (örneğin, /sgcWebAuthn/Registration/Options), ki bu challenge, RP ID ve kullanıcı bilgisi gibi parametreleri hazırlar.
İstek gövdesi, kullanıcıyı tanımlayan ve muhtemelen yapılandırma tercihleri sağlayan verileri içerir. Genellikle şöyle görünür:
{
"username": "alice@example.com",
"displayName": "Alice Smith",
"authenticatorSelection": {
"authenticatorAttachment": "platform", // optional: platform or cross-platform
"userVerification": "preferred" // optional: required | preferred | discouraged
},
"attestation": "none", // or "direct", "indirect"
"residentKey": "discouraged" // optional
}
WebAuthn Server Bileşeni, ilk tarayıcı isteğinin bir PublicKeyCredentialCreationOptions almak için EndpointOptions.RegistrationOptions özelliğinde yapılandırılan uç noktada dinler. Sunucu yeni bir HTTP İsteği aldığında, OnWebAuthnRegistrationOptionsRequest olayı çağrılır ve istemci tarafından gönderilen isteğe erişebilir ve Accept parametresini False olarak ayarlayarak isteği iptal edebilirsiniz.
procedure OnWebAuthnRegistrationOptionsRequest(Sender: TObject; const aRequest: TsgcWebAuthn_RegistrationOptions_Request; var Accept: Boolean);
begin
if aRequest.Username = 'anonymous' then
Accept := False;
end;