diff --git a/server/api/auth/synology/verify.post.ts b/server/api/auth/synology/verify.post.ts index 70da675..6e57643 100644 --- a/server/api/auth/synology/verify.post.ts +++ b/server/api/auth/synology/verify.post.ts @@ -2,8 +2,8 @@ * Synology SSO Access Token 검증 및 로그인 처리 * POST /api/auth/synology/verify */ -import { queryOne, execute } from '~/server/utils/db' -import { createSession } from '~/server/utils/session' +import { queryOne, execute, insertReturning } from '~/server/utils/db' +import { createSession, setSessionCookie } from '~/server/utils/session' import { getClientIp } from '~/server/utils/ip' export default defineEventHandler(async (event) => { @@ -88,13 +88,21 @@ export default defineEventHandler(async (event) => { `, [synologyUsername, employee.employee_id]) // 로그인 이력 기록 - await execute(` + const loginHistory = await insertReturning(` INSERT INTO wr_login_history (employee_id, login_type, login_ip, login_at, login_email) VALUES ($1, 'SYNOLOGY', $2, NOW(), $3) + RETURNING history_id `, [employee.employee_id, ip, synologyEmail]) // 세션 생성 - await createSession(event, employee.employee_id) + const userAgent = getHeader(event, 'user-agent') || null + const sessionId = await createSession( + employee.employee_id, + loginHistory.history_id, + ip, + userAgent + ) + setSessionCookie(event, sessionId) return { success: true,