🛡️Gatekeeper/ SDKs

TOTP enrollment and login-challenge completion. Enroll/verify/disable need a bearer; verifyChallenge is public (the challenge token is the credential).

import { GatekeeperCore, MfaService } from '@orkait/sdk';
 
const mfa = new MfaService(core);

Methods#

MethodReturnsNotes
enroll()MfaEnrollmentreturns secret, qrCodeUri, recoveryCodes
verifySetup(code)Messageconfirms enrollment with a TOTP code
disable(code)Messagerequires a current code
verifyChallenge(challengeToken, code)AuthTokenspublic; completes an MFA login

Example#

// after AuthService.login returned an MfaChallenge
const tokens = await mfa.verifyChallenge(challenge.challengeToken, '123456');
core.setToken(tokens.accessToken);
 
// enrollment (authenticated)
const setup = await mfa.enroll();   // show setup.qrCodeUri
await mfa.verifySetup('123456');