Skip to content

createLiteAuth

The main factory function. Call it once in auth.ts and export the result.

Signature

ts
function createLiteAuth(config: LiteAuthConfig): {
  handlers: {
    GET: (req: NextRequest) => Promise<NextResponse>;
    POST: (req: NextRequest) => Promise<NextResponse>;
  };
  middleware: (options: MiddlewareOptions) => (req: NextRequest) => Promise<NextResponse>;
  getUserFromCookies: (cookies: ReadonlyRequestCookies) => Promise<PublicUser | null>;
}

Parameters

ParamTypeRequiredDescription
usersUser[]YesHardcoded user list
jwtSecretstringYesSecret for signing JWTs
cookieNamestringNoCookie name (default: "lite-auth-token")

Example

ts
// auth.ts
import { createLiteAuth } from "next-lite-auth";

export const { handlers, middleware, getUserFromCookies } = createLiteAuth({
  users: [
    { email: "admin@example.com", password: "secret", role: "admin", name: "Admin" },
  ],
  jwtSecret: process.env.JWT_SECRET!,
});
ts
// app/api/auth/[...liteauth]/route.ts
import { handlers } from "@/auth";
export const { GET, POST } = handlers;

Released under the MIT License.