🛡️Gatekeeper/ SDKs

Signup, login, token refresh/logout, email verification, password reset. All methods are public (no bearer needed). login may return an MFA challenge instead of tokens.

import { GatekeeperCore, AuthService, isMfaChallenge } from '@orkait/sdk';
 
const core = new GatekeeperCore({ baseUrl: 'https://api.example.com' });
const auth = new AuthService(core);

Methods#

MethodReturnsNotes
signup({ email, password, name? })AuthTokensalso creates a personal tenant
login({ email, password })AuthTokens | MfaChallengebranch with isMfaChallenge()
refresh(refreshToken)AuthTokensrotates the refresh token
logout(refreshToken)voidrevokes token + session
verifyEmail(token)Message
requestPasswordReset(email)Messagealways ok (no user enumeration)
resetPassword(token, newPassword)Messagerevokes all sessions
me()UserPublicneeds core.setToken(accessToken) first

Example#

const { accessToken } = await auth.signup({ email: 'a@b.com', password: 'hunter2pass' });
core.setToken(accessToken);
 
const result = await auth.login({ email: 'a@b.com', password: 'hunter2pass' });
if (isMfaChallenge(result)) {
    // hand result.challengeToken to MfaService.verifyChallenge
}
 
const me = await auth.me();