UNPKG

@bitblit/ratchet-warden-common

Version:

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

52 lines (51 loc) 3.18 kB
import { WardenUserServiceOptions } from "./provider/warden-user-service-options.js"; import { WardenLoggedInUserWrapper } from "./provider/warden-logged-in-user-wrapper.js"; import { WardenContact } from "../common/model/warden-contact.js"; import { WardenJwtToken } from "../common/model/warden-jwt-token.js"; import { WardenLoginResults } from "../common/model/warden-login-results.js"; import { WardenEntrySummary } from "../common/model/warden-entry-summary.js"; import { WardenTeamRoleMapping } from "../common/model/warden-team-role-mapping.ts"; export declare class WardenUserService<T> { private options; private loggedInTimerSubscription; private _autoRefreshEnabled; constructor(options: WardenUserServiceOptions<T>); cleanShutDown(): void; get serviceOptions(): WardenUserServiceOptions<T>; createAccount(contact: WardenContact, sendCode?: boolean, label?: string, tags?: string[]): Promise<string>; addContactToLoggedInUser(contact: WardenContact): Promise<boolean>; get autoRefreshEnabled(): boolean; set autoRefreshEnabled(newValue: boolean); checkForAutoLogoutOrRefresh(t: number): Promise<void>; logout(): void; fetchLoggedInUserId(): string; fetchLoggedInUserWrapper(): WardenLoggedInUserWrapper<T>; loggedInUserHasGlobalRole(roleId: string): boolean; loggedInUserHasRoleOnTeam(teamId: string, roleId: string): boolean; isLoggedIn(): boolean; fetchLoggedInUserJwtObject(): WardenJwtToken<T>; fetchLoggedInUserJwtToken(): string; fetchLoggedInUserObject(): T; fetchLoggedInProxyObject(): T; fetchLoggedInGlobalRoleIds(): string[]; fetchLoggedInTeamRoleMappingsGlobalRoleIds(): WardenTeamRoleMapping[]; fetchLoggedInUserExpirationEpochSeconds(): number; fetchLoggedInUserRemainingSeconds(): number; private updateLoggedInUserFromTokenString; refreshToken(): Promise<WardenLoggedInUserWrapper<T>>; sendExpiringCode(contact: WardenContact): Promise<boolean>; private processWardenLoginResults; private updateRecentLoginsFromWardenEntrySummary; private updateRecentLoginsFromLoggedInUserWrapper; executeWebAuthnBasedLogin(userId: string): Promise<WardenLoggedInUserWrapper<T>>; removeWebAuthnRegistrationFromLoggedInUser(input: string): Promise<WardenEntrySummary>; removeContactFromLoggedInUser(input: WardenContact): Promise<WardenEntrySummary>; executeValidationTokenBasedLogin(contact: WardenContact, token: string, createUserIfMissing?: boolean): Promise<WardenLoggedInUserWrapper<T>>; executeThirdPartyTokenBasedLogin(thirdParty: string, token: string, createUserIfMissing?: boolean): Promise<WardenLoggedInUserWrapper<T>>; saveCurrentDeviceAsWebAuthnForCurrentUser(): Promise<WardenEntrySummary>; exportWebAuthnRegistrationEntryForLoggedInUser(origin: string): Promise<string>; importWebAuthnRegistrationEntryForLoggedInUser(token: string): Promise<boolean>; private defaultDeviceLabelGenerator; executeWebAuthnLoginToWardenLoginResults(userId: string): Promise<WardenLoginResults>; executeThirdPartyLoginToWardenLoginResults(thirdParty: string, token: string): Promise<WardenLoginResults>; }