finish user login via password

This commit is contained in:
rafiarrafif
2025-05-12 22:12:51 +07:00
parent c72a06adb4
commit ad9f66a642
2 changed files with 20 additions and 11 deletions

View File

@ -0,0 +1,15 @@
import { serialize } from "cookie";
export const setCookie = async (set: any, payload: string) => {
const cookieLifetime = Number(process.env.SESSION_EXPIRE!);
const serializedCookie = serialize("auth_token", payload, {
httpOnly: true,
secure: true,
sameSite: "strict",
maxAge: cookieLifetime,
path: "/",
});
set.headers["set-cookie"] = serializedCookie;
return serializedCookie;
};

View File

@ -3,11 +3,12 @@ import { loginWithPasswordService } from "../services/loginWithPassword.service"
import { loginWithPasswordSchema } from "../auth.schema";
import {
returnErrorResponse,
returnReadResponse,
returnWriteResponse,
} from "../../../helpers/callback/httpResponse";
import { LoginWithPasswordRequest } from "../auth.types";
import { mainErrorHandler } from "../../../helpers/error/handler";
import { getUserHeaderInformation } from "../../../helpers/http/userHeader/getUserHeaderInformation";
import { setCookie } from "../../../helpers/http/userHeader/cookies/setCookies";
export const loginWithPassword = async (
ctx: Context & { body: LoginWithPasswordRequest }
@ -19,17 +20,10 @@ export const loginWithPassword = async (
const userHeaderInfo = getUserHeaderInformation(ctx);
try {
const processAuth = await loginWithPasswordService(
ctx.body,
userHeaderInfo
);
const jwtToken = await loginWithPasswordService(ctx.body, userHeaderInfo);
return returnReadResponse(
ctx.set,
200,
"Autentication Success",
processAuth
);
const cookie = setCookie(ctx.set, jwtToken);
return returnWriteResponse(ctx.set, 200, "Autentication Success", cookie);
} catch (error) {
return mainErrorHandler(ctx.set, error);
}