UNPKG

@bitblit/ratchet-warden-common

Version:

Typescript library to simplify using simplewebauthn and secondary auth methods over GraphQL

35 lines (34 loc) 2.89 kB
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>; }