// server/api/auth/logout.post.ts /** * POST /api/auth/logout * * End user session and perform Single Sign-Out at Cidaas * * Response: * { * "success": true * } */ export default defineEventHandler(async (event) => { try { // 1. Get session to retrieve access token const session = await getUserSession(event) // 2. If access token exists, logout from Cidaas (Single Sign-Out) if (session.accessToken) { try { await logoutFromCidaas(session.accessToken) } catch (error) { // Log error but continue with local logout console.error('Cidaas logout failed, continuing with local logout:', error) } } // 3. Clear local session (nuxt-auth-utils) await clearUserSession(event) return { success: true, } } catch (error) { console.error('Logout error:', error) // Clear session even if Cidaas logout fails await clearUserSession(event) return { success: true, // Always return success for logout } } })