aegis-auth
Version:
A credentials-based auth solution for Next.js (and other Node projects) with IP rate-limiting, account lockouts, and sessions in DB.
59 lines • 3.64 kB
TypeScript
import type { PrismaClient } from "@prisma/client";
import { completeEmailChange as completeEmailChangeCore, completePasswordReset as completePasswordResetCore, createSession as createSessionCore, createVerification as createVerificationCore, initiateEmailChange as initiateEmailChangeCore, initiatePasswordReset as initiatePasswordResetCore, loginUser as loginUserCore, logoutUser as logoutUserCore, registerUser as registerUserCore, revokeAllSessionsForUser as revokeAllSessionsForUserCore, revokeSession as revokeSessionCore, useVerificationToken as useVerificationTokenCore, validateAndRotateSession as validateAndRotateSessionCore, verifyEmail as verifyEmailCore } from "./actions";
import { type AegisAuthConfig } from "./config";
import type { AuthHeaders } from "./types";
export declare class AegisAuth {
private prisma;
private config;
private limiters;
private createContext;
private createContextWithRequest;
constructor(prisma: PrismaClient, userConfig?: AegisAuthConfig);
completeEmailChange(request: {
headers: AuthHeaders;
}, input: Parameters<typeof completeEmailChangeCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
completePasswordReset(request: {
headers: AuthHeaders;
}, input: Parameters<typeof completePasswordResetCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
createSession(request: {
headers: AuthHeaders;
}, input: Parameters<typeof createSessionCore>[1]): Promise<import("./types").ActionResponse<{
session: import("./types").ClientSession;
}>>;
createVerification(input: Parameters<typeof createVerificationCore>[1]): Promise<import("./types").ActionResponse<{
verification: import("./types").PrismaVerification;
}>>;
initiateEmailChange(request: {
headers: AuthHeaders;
}, input: Parameters<typeof initiateEmailChangeCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
initiatePasswordReset(request: {
headers: AuthHeaders;
}, input: Parameters<typeof initiatePasswordResetCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
loginUser(request: {
headers: AuthHeaders;
}, input: Parameters<typeof loginUserCore>[1]): Promise<import("./types").ActionResponse<{
user: import("./types").ClientUser;
session: import("./types").ClientSession;
}>>;
logoutUser(input: Parameters<typeof logoutUserCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
registerUser(request: {
headers: AuthHeaders;
}, input: Parameters<typeof registerUserCore>[1]): Promise<import("./types").ActionResponse<{
user: import("./types").ClientUser;
}>>;
revokeAllSessionsForUser(input: Parameters<typeof revokeAllSessionsForUserCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
revokeSession(input: Parameters<typeof revokeSessionCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
useVerificationToken(input: Parameters<typeof useVerificationTokenCore>[1]): Promise<import("./types").ActionResponse<{
verification: import("./types").PrismaVerification;
}>>;
validateAndRotateSession(request: {
headers: AuthHeaders;
}, input: Parameters<typeof validateAndRotateSessionCore>[1]): Promise<import("./types").ActionResponse<{
session?: import("./types").ClientSession;
rolled: boolean;
}>>;
verifyEmail(request: {
headers: AuthHeaders;
}, input: Parameters<typeof verifyEmailCore>[1]): Promise<import("./types").ActionResponse<unknown>>;
}
//# sourceMappingURL=aegisAuth.d.ts.map