Interface: IWebAuthnService
Defined in: src/types/interfaces/webauthn.interface.ts:326
WebAuthn service interface.
Remarks
Provides WebAuthn/FIDO2 passkey support for passwordless authentication.
Example
const webauthn = container.resolve<IWebAuthnService>('IWebAuthnService');
// Registration flow
const challenge = await webauthn.generateRegistrationChallenge(did);
// ... client calls navigator.credentials.create() ...
const credential = await webauthn.verifyRegistration(response);
// Authentication flow
const authChallenge = await webauthn.generateAuthenticationChallenge(did);
// ... client calls navigator.credentials.get() ...
const result = await webauthn.verifyAuthentication(authResponse);
Methods
deleteCredential()
deleteCredential(
did,credentialId):Promise<void>
Defined in: src/types/interfaces/webauthn.interface.ts:394
Delete credential.
Parameters
did
User's DID (for ownership verification)
credentialId
string
Credential ID to delete
Returns
Promise<void>
Throws
NotFoundError if credential does not exist
Throws
AuthorizationError if not credential owner
generateAuthenticationChallenge()
generateAuthenticationChallenge(
did?):Promise<AuthenticationChallenge>
Defined in: src/types/interfaces/webauthn.interface.ts:361
Generate authentication challenge.
Parameters
did?
User's DID (optional for discoverable credentials)
Returns
Promise<AuthenticationChallenge>
Challenge for client
generateRegistrationChallenge()
generateRegistrationChallenge(
did,options?):Promise<RegistrationChallenge>
Defined in: src/types/interfaces/webauthn.interface.ts:336
Generate registration challenge for new credential.
Parameters
did
User's DID
options?
Registration options
Returns
Promise<RegistrationChallenge>
Challenge for client
listCredentials()
listCredentials(
did):Promise<readonlyWebAuthnCredential[]>
Defined in: src/types/interfaces/webauthn.interface.ts:381
List credentials for user.
Parameters
did
User's DID
Returns
Promise<readonly WebAuthnCredential[]>
Array of credentials
updateCredentialNickname()
updateCredentialNickname(
did,credentialId,nickname):Promise<void>
Defined in: src/types/interfaces/webauthn.interface.ts:405
Update credential nickname.
Parameters
did
User's DID
credentialId
string
Credential ID
nickname
string
New nickname
Returns
Promise<void>
verifyAuthentication()
verifyAuthentication(
response):Promise<WebAuthnVerificationResult>
Defined in: src/types/interfaces/webauthn.interface.ts:371
Verify authentication response.
Parameters
response
Authentication response from client
Returns
Promise<WebAuthnVerificationResult>
Verification result with credential
verifyRegistration()
verifyRegistration(
response):Promise<WebAuthnCredential>
Defined in: src/types/interfaces/webauthn.interface.ts:351
Verify registration response and store credential.
Parameters
response
Registration response from client
Returns
Promise<WebAuthnCredential>
Stored credential
Throws
WebAuthnError if verification fails