import { revokeAuthSession } from '~~/server/utils/auth-session' export default defineEventHandler(async (event) => { try { console.log('[Auth] User logout requested') if (event.context.user?.id && event.context.authSessionId) { await revokeAuthSession(event.context.user.id, event.context.authSessionId, 'logout') } // 获取当前用户信息(如果存在) // 清除cookie const isSecure = getRequestURL(event).protocol === 'https:' || getRequestHeader(event, 'x-forwarded-proto') === 'https' setCookie(event, 'auth-token', '', { httpOnly: true, secure: isSecure, sameSite: 'lax', maxAge: 0, path: '/' }) return { success: true, message: '登出成功' } } catch (error: any) { console.error('Logout error:', error) // 出错时也要清除cookie try { setCookie(event, 'auth-token', '', { httpOnly: true, secure: false, sameSite: 'lax', maxAge: 0, path: '/' }) } catch (cookieError) { console.error('Failed to clear cookie:', cookieError) } // 返回成功状态 return { success: true, message: '登出成功' } } })