This commit is contained in:
Marco Pedone 2025-09-04 11:32:17 +02:00
parent 2492b98c20
commit 26e0754b1c
4 changed files with 38 additions and 13 deletions

View file

@ -133,7 +133,7 @@ const refreshAuthToken = async (
const newAccessToken = await signToken( const newAccessToken = await signToken(
refreshTokenPayload, refreshTokenPayload,
"1h", "5m",
"accessToken", "accessToken",
); );
response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, newAccessToken, { response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, newAccessToken, {

View file

@ -32,14 +32,17 @@ const cookieOptions: OptionsType = {
secure: env.NODE_ENV === "production", secure: env.NODE_ENV === "production",
}; };
const accessTokenExpiry = "1m";
export const refreshTokenExpiry = "5m";
const accessTokenCookieOptions: OptionsType = { const accessTokenCookieOptions: OptionsType = {
...cookieOptions, ...cookieOptions,
expires: add(new Date(), { hours: 1 }), expires: add(new Date(), { minutes: 1 }),
}; };
const refreshTokenCookieOptions: OptionsType = { const refreshTokenCookieOptions: OptionsType = {
...cookieOptions, ...cookieOptions,
expires: add(new Date(), { days: 1 }), expires: add(new Date(), { minutes: 5 }),
}; };
export const createUserAdmin = async ({ export const createUserAdmin = async ({
@ -147,9 +150,19 @@ export const logIn = async ({
nome: user.nome, nome: user.nome,
username: user.username, username: user.username,
}; };
console.log("User authenticated, generating tokens for:", user.email);
const accessToken = await signToken(payload, "1h", "accessToken"); const accessToken = await signToken(
const refreshToken = await signToken(payload, "1d", "refreshToken"); payload,
accessTokenExpiry,
"accessToken",
);
const refreshToken = await signToken(
payload,
refreshTokenExpiry,
"refreshToken",
);
console.log("Generated tokens for user:", user.email);
try { try {
await setCookie(ACCESS_TOKEN_COOKIE_NAME, accessToken, { await setCookie(ACCESS_TOKEN_COOKIE_NAME, accessToken, {
@ -162,7 +175,7 @@ export const logIn = async ({
req, req,
res, res,
}); });
console.log("Login successful, cookies set.");
return { status: "success" as const }; return { status: "success" as const };
} catch (cookieError) { } catch (cookieError) {
console.error("Error setting cookies:", cookieError); console.error("Error setting cookies:", cookieError);
@ -197,8 +210,12 @@ export const swapAuth = async ({
}); });
} }
const accessToken = await signToken(user, "1h", "accessToken"); const accessToken = await signToken(user, accessTokenExpiry, "accessToken");
const refreshToken = await signToken(user, "1d", "refreshToken"); const refreshToken = await signToken(
user,
refreshTokenExpiry,
"refreshToken",
);
// Send Access Token in Cookie // Send Access Token in Cookie
await setCookie(ACCESS_TOKEN_COOKIE_NAME, accessToken, { await setCookie(ACCESS_TOKEN_COOKIE_NAME, accessToken, {

View file

@ -54,14 +54,20 @@ export const db = new Kysely<Database>({
}); });
const DbLogger = (event: LogEvent) => { const DbLogger = (event: LogEvent) => {
if (event.level === "query") { if (
event.level === "query" &&
event.query.sql !== "begin" &&
event.query.sql !== "commit"
) {
console.log();
console.log("\x1b[33mquery:\x1b[0m", event.query.sql); console.log("\x1b[33mquery:\x1b[0m", event.query.sql);
console.log("\x1b[36mparams:\x1b[0m", event.query.parameters); console.log("\x1b[36mparams:\x1b[0m", event.query.parameters);
console.log("\x1b[32mtaken:\x1b[0m", event.queryDurationMillis, "ms"); //console.log("\x1b[32mtaken:\x1b[0m", event.queryDurationMillis, "ms");
} }
if (event.level === "error") { if (event.level === "error") {
console.error();
console.error("\x1b[33mquery:\x1b[0m", event.query.sql); console.error("\x1b[33mquery:\x1b[0m", event.query.sql);
console.error("\x1b[36mparams:\x1b[0m", event.query.parameters); console.error("\x1b[36mparams:\x1b[0m", event.query.parameters);
console.error("\x1b[31merror:\x1b[0m", event.error); //console.error("\x1b[31merror:\x1b[0m", event.error);
} }
}; };

View file

@ -50,8 +50,10 @@ export const api = createTRPCNext<AppRouter>({
errorLink, errorLink,
loggerLink({ loggerLink({
enabled: (opts) => enabled: (opts) =>
(process.env.NODE_ENV === "development" && //(
typeof window !== "undefined") || //process.env.NODE_ENV === "development" &&
typeof window !== "undefined" ||
// )
(opts.direction === "down" && opts.result instanceof Error), (opts.direction === "down" && opts.result instanceof Error),
}), }),