UNPKG

@lucasroll62/nuxt3-auth

Version:

An alternative module to @nuxtjs/auth

58 lines (57 loc) 2.55 kB
import type { HTTPRequest, HTTPResponse, Scheme, SchemeCheck, TokenableScheme, RefreshableScheme, ModuleOptions, Route } from '../../types'; import type { NuxtApp } from '#app'; import { Storage } from './storage'; export type ErrorListener = (...args: any[]) => void; export type RedirectListener = (to: string, from: string) => string; export declare class Auth { #private; ctx: NuxtApp; options: ModuleOptions; strategies: Record<string, Scheme>; $storage: Storage; $state: { strategy: string; user: Record<string, any>; loggedIn: boolean; }; error?: Error; constructor(ctx: NuxtApp, options: ModuleOptions); getStrategy(throwException?: boolean): Scheme; get tokenStrategy(): TokenableScheme; get refreshStrategy(): RefreshableScheme; get strategy(): Scheme; get user(): Record<string, any> | null; get loggedIn(): boolean; get busy(): boolean; init(): Promise<void>; registerStrategy(name: string, strategy: Scheme): void; setStrategy(name: string): Promise<HTTPResponse | void>; mounted(...args: any[]): Promise<HTTPResponse | void>; loginWith(name: string, ...args: any[]): Promise<HTTPResponse | void>; login(...args: any[]): Promise<HTTPResponse | void>; fetchUser(...args: any[]): Promise<HTTPResponse | void>; logout(...args: any[]): Promise<void>; setUserToken(token: string | boolean, refreshToken?: string | boolean): Promise<HTTPResponse | void>; reset(...args: any[]): void; refreshTokens(): Promise<HTTPResponse | void>; check(...args: any[]): SchemeCheck; fetchUserOnce(...args: any[]): Promise<HTTPResponse | void>; setUser(user: any): void; request(endpoint: HTTPRequest, defaults?: HTTPRequest): Promise<HTTPResponse | void>; requestWith(endpoint?: HTTPRequest, defaults?: HTTPRequest): Promise<HTTPResponse | void>; wrapLogin(promise: Promise<HTTPResponse | void>): Promise<HTTPResponse | void>; onError(listener: ErrorListener): void; callOnError(error: Error, payload?: {}): void; /** * * @param name redirect name * @param route (default: false) Internal useRoute() (false) or manually specify * @param router (default: true) Whether to use nuxt redirect (true) or window redirect (false) * * @returns */ redirect(name: string, route?: Route | false, router?: boolean): void; onRedirect(listener: RedirectListener): void; callOnRedirect(to: string, from: string): string; hasScope(scope: string): boolean; }