fix: Synology SSO createSession 호출 수정
- insertReturning으로 history_id 반환받기 - createSession에 4개 파라미터 전달 (employeeId, historyId, ip, userAgent) - setSessionCookie로 세션 쿠키 설정
This commit is contained in:
@@ -2,8 +2,8 @@
|
|||||||
* Synology SSO Access Token 검증 및 로그인 처리
|
* Synology SSO Access Token 검증 및 로그인 처리
|
||||||
* POST /api/auth/synology/verify
|
* POST /api/auth/synology/verify
|
||||||
*/
|
*/
|
||||||
import { queryOne, execute } from '~/server/utils/db'
|
import { queryOne, execute, insertReturning } from '~/server/utils/db'
|
||||||
import { createSession } from '~/server/utils/session'
|
import { createSession, setSessionCookie } from '~/server/utils/session'
|
||||||
import { getClientIp } from '~/server/utils/ip'
|
import { getClientIp } from '~/server/utils/ip'
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineEventHandler(async (event) => {
|
||||||
@@ -88,13 +88,21 @@ export default defineEventHandler(async (event) => {
|
|||||||
`, [synologyUsername, employee.employee_id])
|
`, [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)
|
INSERT INTO wr_login_history (employee_id, login_type, login_ip, login_at, login_email)
|
||||||
VALUES ($1, 'SYNOLOGY', $2, NOW(), $3)
|
VALUES ($1, 'SYNOLOGY', $2, NOW(), $3)
|
||||||
|
RETURNING history_id
|
||||||
`, [employee.employee_id, ip, synologyEmail])
|
`, [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 {
|
return {
|
||||||
success: true,
|
success: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user