Abstract Class: BaseAuthFIDO2RouteMongo
Defined in: src/routes/mongo/BaseAuthFIDO2RouteMongo.ts:7
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.
Extends
Constructors
Constructor
new BaseAuthFIDO2RouteMongo():
BaseAuthFIDO2RouteMongo
Returns
BaseAuthFIDO2RouteMongo
Inherited from
BaseAuthFIDO2Route.constructor
Properties
aliasClass
protectedaliasClass:any=AliasMongo
Defined in: src/routes/mongo/BaseAuthFIDO2RouteMongo.ts:8
Overrides
aliasRepo?
protectedoptionalaliasRepo?:RepoUtils<AliasMongo>
Defined in: src/routes/BaseAuthFIDO2Route.ts:29
Inherited from
authMiddleware?
protectedoptionalauthMiddleware?:AuthMiddleware
Defined in: src/routes/BaseAuthFIDO2Route.ts:32
Inherited from
BaseAuthFIDO2Route.authMiddleware
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).
Inherited from
BaseAuthFIDO2Route.fido2Config
jwtConfig?
protectedoptionaljwtConfig?:any
Defined in: src/routes/BaseAuthFIDO2Route.ts:35
Inherited from
messagingUtils?
protectedoptionalmessagingUtils?:MessagingUtils
Defined in: src/routes/BaseAuthFIDO2Route.ts:41
Inherited from
BaseAuthFIDO2Route.messagingUtils
objectFactory?
protectedoptionalobjectFactory?:ObjectFactory
Defined in: src/routes/BaseAuthFIDO2Route.ts:38
Inherited from
BaseAuthFIDO2Route.objectFactory
secretClass
protectedsecretClass:any=SecretMongo
Defined in: src/routes/mongo/BaseAuthFIDO2RouteMongo.ts:9
Overrides
BaseAuthFIDO2Route.secretClass
secretRepo?
protectedoptionalsecretRepo?:RepoUtils<SecretMongo>
Defined in: src/routes/BaseAuthFIDO2Route.ts:43
Inherited from
userClass
protecteduserClass:any=UserMongo
Defined in: src/routes/mongo/BaseAuthFIDO2RouteMongo.ts:10
Overrides
userRepo?
protectedoptionaluserRepo?:RepoUtils<UserMongo>
Defined in: src/routes/BaseAuthFIDO2Route.ts:57
Inherited from
userUtils?
protectedoptionaluserUtils?:UserUtils<UserMongo,AliasMongo>
Defined in: src/routes/BaseAuthFIDO2Route.ts:59
Inherited from
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>
Inherited from
BaseAuthFIDO2Route.authenticate
getCredentialById()
protectedgetCredentialById(credentialId):Promise<StoredPasskeyCredential|undefined>
Defined in: src/routes/BaseAuthFIDO2Route.ts:133
Parameters
credentialId
string
Returns
Promise<StoredPasskeyCredential | undefined>
Inherited from
BaseAuthFIDO2Route.getCredentialById
getCredentials()
protectedgetCredentials(id):Promise<StoredPasskeyCredential[]>
Defined in: src/routes/BaseAuthFIDO2Route.ts:141
Parameters
id
string
Returns
Promise<StoredPasskeyCredential[]>
Inherited from
BaseAuthFIDO2Route.getCredentials
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>
Inherited from
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>
Inherited from
updateCredentialCounter()
protectedupdateCredentialCounter(credentialId,newCounter):Promise<void>
Defined in: src/routes/BaseAuthFIDO2Route.ts:178
Parameters
credentialId
string
newCounter
number
Returns
Promise<void>