providers/passkey library

This library contains the Passkey authentication provider for the Serverpod Idp module.

Classes

AuthSuccess
Response model representing a successful authentication result with all relevant authentication information.
PasskeyAccount
A fully configured passkey to be used for logins.
PasskeyChallenge
A challenge handed out for a subsequent Passkey registration or login.
PasskeyIdp
Passkey account management functions.
PasskeyIdpAdmin
Collection of Passkey account admin methods.
PasskeyIdpBaseEndpoint
Base endpoint for Passkey-based authentication.
PasskeyIdpConfig
Configuration for the Passkey account module.
PasskeyIdpConfigFromPasswords
Creates a new PasskeyIdpConfig from keys on the passwords.yaml file.
PasskeyIdpUtils
Utility functions for the Passkey identity provider.
PasskeyLoginRequest
Data to be sent for a Passkey login.
PasskeyRegistrationRequest
Data to be sent when adding a Passkey to an existing user.

Extensions

PasskeyIdpGetter on AuthServices
Extension to get the PasskeyIdp instance from the AuthServices.

Typedefs

DeletedPasskeyAccount = ({UuidValue authUserId, UuidValue passkeyAccountId})
A tuple of (auth user ID, passkey account ID) representing a deleted passkey account.
PasskeyChallengeResponse = ({ByteData challenge, UuidValue id})
A challenge to be used for a passkey registration or login.

Exceptions / Errors

PasskeyChallengeExpiredException
Exception to be thrown if a registration or login attempt was made after the challenge used has expired.
PasskeyChallengeNotFoundException
Exception to be thrown if a registration or login attempt was made with a challenge id which can not be found (because either it has never existed or has been used already).
PasskeyPublicKeyNotFoundException
Exception to be thrown if a login attempt was made with an unknown key id.