The core functions
WebAuthnManager.beginRegistration()
WebAuthnManager.finishRegistration()
WebAuthnManager.beginAuthentication()
WebAuthnManager.finishAuthentication()
should accept and return have native Swift types, rather than encoded types. For example, finishRegistration() takes a RegistrationCredential, which has a URLEncodedBase64 type for id. RegistrationCredential is also used directly for encoding/decoding in transit from the client.
This makes translating webauthn requests a lot more tedious or forces a very specific exchange between client and server.
The webauthn library probably shouldn't have any Codable classes in its core.
The core functions
WebAuthnManager.beginRegistration()WebAuthnManager.finishRegistration()WebAuthnManager.beginAuthentication()WebAuthnManager.finishAuthentication()should accept and return have native Swift types, rather than encoded types. For example,
finishRegistration()takes aRegistrationCredential, which has aURLEncodedBase64type forid.RegistrationCredentialis also used directly for encoding/decoding in transit from the client.This makes translating webauthn requests a lot more tedious or forces a very specific exchange between client and server.
The webauthn library probably shouldn't have any
Codableclasses in its core.