mirror of
https://github.com/kmc7468/arkvault.git
synced 2025-12-16 06:58:46 +00:00
백엔드에서 JWT가 아닌 세션 ID 기반으로 인증하도록 변경
This commit is contained in:
@@ -1,34 +1,22 @@
|
||||
import { redirect, type ServerInit, type Handle } from "@sveltejs/kit";
|
||||
import type { ServerInit } from "@sveltejs/kit";
|
||||
import { sequence } from "@sveltejs/kit/hooks";
|
||||
import schedule from "node-schedule";
|
||||
import { cleanupExpiredUserClientChallenges } from "$lib/server/db/client";
|
||||
import { migrateDB } from "$lib/server/db/drizzle";
|
||||
import {
|
||||
cleanupExpiredRefreshTokens,
|
||||
cleanupExpiredTokenUpgradeChallenges,
|
||||
} from "$lib/server/db/token";
|
||||
cleanupExpiredSessions,
|
||||
cleanupExpiredSessionUpgradeChallenges,
|
||||
} from "$lib/server/db/session";
|
||||
import { authenticate, setAgentInfo } from "$lib/server/middlewares";
|
||||
|
||||
export const init: ServerInit = () => {
|
||||
migrateDB();
|
||||
|
||||
schedule.scheduleJob("0 * * * *", () => {
|
||||
cleanupExpiredUserClientChallenges();
|
||||
cleanupExpiredRefreshTokens();
|
||||
cleanupExpiredTokenUpgradeChallenges();
|
||||
cleanupExpiredSessions();
|
||||
cleanupExpiredSessionUpgradeChallenges();
|
||||
});
|
||||
};
|
||||
|
||||
export const handle: Handle = async ({ event, resolve }) => {
|
||||
if (["/api", "/auth"].some((path) => event.url.pathname.startsWith(path))) {
|
||||
return await resolve(event);
|
||||
}
|
||||
|
||||
const accessToken = event.cookies.get("accessToken");
|
||||
if (accessToken) {
|
||||
return await resolve(event);
|
||||
} else {
|
||||
redirect(
|
||||
302,
|
||||
"/auth/login?redirect=" + encodeURIComponent(event.url.pathname + event.url.search),
|
||||
);
|
||||
}
|
||||
};
|
||||
export const handle = sequence(setAgentInfo, authenticate);
|
||||
|
||||
Reference in New Issue
Block a user