// POST /api/auth/logout — 退出登录(清除 cookie + 302 跳转 /login) import { NextResponse } from 'next/server' const autheliaUrl = process.env.AUTHELIA_URL || 'https://sso.tlyq.ai' const cookieDomain = process.env.COOKIE_DOMAIN || '.tlyq.ai' // GET: 浏览器导航 → 302 到 Authelia end_session(带 rd 回跳 /login) export async function GET() { const returnUrl = `${process.env.NEXT_PUBLIC_SITE_URL || 'http://localhost:6179'}/login` const response = NextResponse.redirect( `${autheliaUrl}/api/oidc/end_session?rd=${encodeURIComponent(returnUrl)}` ) response.cookies.set('tlyq_session', '', { httpOnly: true, secure: process.env.NODE_ENV === 'production', sameSite: 'lax', domain: cookieDomain, path: '/', maxAge: 0, }) response.cookies.set('session', '', { path: '/', maxAge: 0 }) return response } // POST: fetch 调用 → 清除 cookie + 返回 200 JSON export async function POST() { const response = NextResponse.json({ success: true }) response.cookies.set('tlyq_session', '', { httpOnly: true, secure: process.env.NODE_ENV === 'production', sameSite: 'lax', domain: cookieDomain, path: '/', maxAge: 0, }) response.cookies.set('session', '', { path: '/', maxAge: 0 }) return response }