@bitblit/ratchet-warden-common
Version:
Typescript library to simplify using simplewebauthn and secondary auth methods over GraphQL
35 lines (34 loc) • 2.89 kB
TypeScript
import { WardenCommand } from "../common/command/warden-command.js";
import { WardenContact } from "../common/model/warden-contact.js";
import { WardenCommandExchangeProvider } from "./provider/warden-command-exchange-provider.js";
import { WardenCommandResponse } from "../common/command/warden-command-response.js";
import { PublicKeyCredentialRequestOptionsJSON, RegistrationResponseJSON, StartRegistrationOpts } from "@simplewebauthn/browser";
import { WardenLoginResults } from "../common/model/warden-login-results.js";
import { WardenLoginRequest } from "../common/model/warden-login-request.js";
import { WardenClientCurrentLoggedInJwtTokenProvider } from "./provider/warden-client-current-logged-in-jwt-token-provider.js";
import { WardenEntrySummary } from "../common/model/warden-entry-summary.js";
import { WardenContactType } from "../common/model/warden-contact-type.js";
import { SendMagicLink } from "../common/command/send-magic-link.js";
export declare class WardenClient {
private commandSender;
private jwtProvider;
constructor(commandSender: WardenCommandExchangeProvider, jwtProvider: WardenClientCurrentLoggedInJwtTokenProvider);
exchangeCommand(cmd: WardenCommand, returnErrors?: boolean): Promise<WardenCommandResponse>;
createAccount(contact: WardenContact, sendCode?: boolean, label?: string, tags?: string[]): Promise<string>;
sendMagicLinkRaw(smlCmd: SendMagicLink): Promise<boolean>;
sendMagicLinkByUserId(userId: string, landingUrl: string, contactType?: WardenContactType, meta?: Record<string, string>): Promise<boolean>;
sendMagicLink(contact: WardenContact, landingUrl: string, meta?: Record<string, string>): Promise<boolean>;
generateWebAuthnAuthenticationChallengeForUserId(userId: string): Promise<PublicKeyCredentialRequestOptionsJSON>;
exportWebAuthnRegistrationEntryForLoggedInUser(origin: string): Promise<string>;
importWebAuthnRegistrationEntryForLoggedInUser(token: string): Promise<boolean>;
generateWebAuthnRegistrationChallengeForLoggedInUser(): Promise<StartRegistrationOpts>;
removeWebAuthnRegistration(userId: string, credId: string): Promise<WardenEntrySummary>;
removeWebAuthnRegistrationFromLoggedInUser(input: string): Promise<WardenEntrySummary>;
removeContactFromLoggedInUser(input: WardenContact): Promise<WardenEntrySummary>;
sendExpiringValidationToken(contact: WardenContact): Promise<boolean>;
addContactToLoggedInUser(contact: WardenContact): Promise<boolean>;
addWebAuthnRegistrationToLoggedInUser(applicationName: string, deviceLabel: string, data: RegistrationResponseJSON): Promise<WardenEntrySummary>;
performLoginCmd(login: WardenLoginRequest): Promise<WardenLoginResults>;
refreshJwtToken(oldJwtToken: string): Promise<string>;
executeExpiringTokenBasedLogin(contact: WardenContact, expiringToken: string): Promise<WardenLoginResults>;
}