@light-auth/nuxt
Version:
light auth framework for nuxt, using arctic
21 lines (20 loc) • 1.57 kB
TypeScript
import { type LightAuthConfig, type LightAuthSession, type LightAuthUser } from "@light-auth/core";
import { type EventHandlerRequest, type EventHandlerResponse, H3Event } from "h3";
type NuxtJsLightAuthHandlerFunction = (event: H3Event<EventHandlerRequest>) => EventHandlerResponse;
/**
* CreateLightAuth is a function that creates the LightAuth components for Nuxt.js.
* It takes a LightAuthConfig object as a parameter and returns a LightAuthNuxtJsComponents object.
* The function also sets default values for the userAdapter, router and cookieStore if they are not provided.
*/
export declare function CreateLightAuth<Session extends LightAuthSession = LightAuthSession, User extends LightAuthUser<Session> = LightAuthUser<Session>>(config: LightAuthConfig<Session, User>): {
providers: import("@light-auth/core").LightAuthProvider[];
handlers: NuxtJsLightAuthHandlerFunction;
basePath: string;
signIn: (event: H3Event<EventHandlerRequest>, providerName?: string, callbackUrl?: string) => Promise<void>;
signOut: (event: H3Event<EventHandlerRequest>, revokeToken?: boolean, callbackUrl?: string) => Promise<void>;
getAuthSession: (event: H3Event<EventHandlerRequest>) => Promise<Session | null | undefined>;
setAuthSession: (event: H3Event<EventHandlerRequest>, session: Session) => Promise<Session | null | undefined>;
getUser: (event: H3Event<EventHandlerRequest>, providerUserId?: string) => Promise<User | null>;
setUser: (event: H3Event<EventHandlerRequest>, user: User) => Promise<User | null | undefined>;
};
export {};