Added AuthModule with services, controllers, and guards for authentication. Implements session management, role-based access control, 2FA, and DTOs for user login, registration, and token refresh.
19 lines
418 B
TypeScript
19 lines
418 B
TypeScript
import { SessionOptions } from "iron-session";
|
|
|
|
export interface SessionData {
|
|
accessToken?: string;
|
|
refreshToken?: string;
|
|
userId?: string;
|
|
}
|
|
|
|
export const getSessionOptions = (password: string): SessionOptions => ({
|
|
password,
|
|
cookieName: "memegoat_session",
|
|
cookieOptions: {
|
|
secure: process.env.NODE_ENV === "production",
|
|
httpOnly: true,
|
|
sameSite: "strict",
|
|
maxAge: 60 * 60 * 24 * 7, // 7 days
|
|
},
|
|
});
|