Abstract Class: BaseAuthFIDO2Route<U, A, S>
Defined in: src/routes/BaseAuthFIDO2Route.ts:24
Authenticates users via a registered FIDO2 hardware security key (e.g. a YubiKey) using
WebAuthn/CTAP2. See BaseAuthPasskeyRoute for the software/synced-credential ("Passkey")
counterpart of this route — both share the same underlying WebAuthn ceremony, but look up
credentials stored as SecretType.FIDO2 rather than SecretType.PASSKEY.
Extended by
Type Parameters
U
U extends User
A
A extends Alias
S
S extends Secret
Constructors
Constructor
new BaseAuthFIDO2Route<
U,A,S>():BaseAuthFIDO2Route<U,A,S>
Returns
BaseAuthFIDO2Route<U, A, S>
Properties
aliasClass
abstractprotectedaliasClass:any
Defined in: src/routes/BaseAuthFIDO2Route.ts:25
aliasRepo?
protectedoptionalaliasRepo?:RepoUtils<A>
Defined in: src/routes/BaseAuthFIDO2Route.ts:29
authMiddleware?
protectedoptionalauthMiddleware?:AuthMiddleware
Defined in: src/routes/BaseAuthFIDO2Route.ts:32
fido2Config
protectedfido2Config:PasskeyConfig
Defined in: src/routes/BaseAuthFIDO2Route.ts:51
The relying party configuration to use for this FIDO2 strategy. Kept separate from the Passkey
strategy's configuration since a hardware key deployment commonly wants a different
authenticatorAttachment/residentKey policy (see BaseSecretRoute.fido2Config).
jwtConfig?
protectedoptionaljwtConfig?:any
Defined in: src/routes/BaseAuthFIDO2Route.ts:35
messagingUtils?
protectedoptionalmessagingUtils?:MessagingUtils
Defined in: src/routes/BaseAuthFIDO2Route.ts:41
objectFactory?
protectedoptionalobjectFactory?:ObjectFactory
Defined in: src/routes/BaseAuthFIDO2Route.ts:38
secretClass
abstractprotectedsecretClass:any
Defined in: src/routes/BaseAuthFIDO2Route.ts:26
secretRepo?
protectedoptionalsecretRepo?:RepoUtils<S>
Defined in: src/routes/BaseAuthFIDO2Route.ts:43
userClass
abstractprotecteduserClass:any
Defined in: src/routes/BaseAuthFIDO2Route.ts:27
userRepo?
protectedoptionaluserRepo?:RepoUtils<U>
Defined in: src/routes/BaseAuthFIDO2Route.ts:57
userUtils?
protectedoptionaluserUtils?:UserUtils<U,A>
Defined in: src/routes/BaseAuthFIDO2Route.ts:59
Methods
authenticate()
authenticate(
user):Promise<AuthResult|undefined>
Defined in: src/routes/BaseAuthFIDO2Route.ts:125
Authenticates the user using a FIDO2 hardware security key and returns a JSON Web Token access token to be used with future API requests.
Parameters
user
JWTUser
Returns
Promise<AuthResult | undefined>
getCredentialById()
protectedgetCredentialById(credentialId):Promise<StoredPasskeyCredential|undefined>
Defined in: src/routes/BaseAuthFIDO2Route.ts:133
Parameters
credentialId
string
Returns
Promise<StoredPasskeyCredential | undefined>
getCredentials()
protectedgetCredentials(id):Promise<StoredPasskeyCredential[]>
Defined in: src/routes/BaseAuthFIDO2Route.ts:141
Parameters
id
string
Returns
Promise<StoredPasskeyCredential[]>
getUser()
protectedgetUser(id):Promise<JWTUser|undefined>
Defined in: src/routes/BaseAuthFIDO2Route.ts:171
Retrieve the user associated with a given uid or alias.
Parameters
id
string
The unqique id of the user or alias to lookup.
Returns
Promise<JWTUser | undefined>
initialize()
protectedinitialize():Promise<void>
Defined in: src/routes/BaseAuthFIDO2Route.ts:65
Called on server startup to initialize the route with any defaults.
Returns
Promise<void>
updateCredentialCounter()
protectedupdateCredentialCounter(credentialId,newCounter):Promise<void>
Defined in: src/routes/BaseAuthFIDO2Route.ts:178
Parameters
credentialId
string
newCounter
number
Returns
Promise<void>