fix: Synology SSO createSession 호출 수정

- insertReturning으로 history_id 반환받기
- createSession에 4개 파라미터 전달 (employeeId, historyId, ip, userAgent)
- setSessionCookie로 세션 쿠키 설정
This commit is contained in:
2026-01-11 23:52:27 +09:00
parent 71c4ce5401
commit ee736fb7cc

View File

@@ -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,