/** * Synology SSO 로그인 시작 * GET /api/auth/synology * * Synology SSO Server OAuth 2.0 인증 페이지로 리다이렉트 */ export default defineEventHandler(async (event) => { const config = useRuntimeConfig() if (!config.synologyServerUrl || !config.synologyClientId) { throw createError({ statusCode: 500, message: 'Synology SSO가 설정되지 않았습니다.' }) } // Synology SSO Server OAuth 인증 URL const authUrl = new URL(`${config.synologyServerUrl}/webman/sso/SSOOauth.cgi`) authUrl.searchParams.set('response_type', 'code') authUrl.searchParams.set('client_id', config.synologyClientId) authUrl.searchParams.set('redirect_uri', config.synologyRedirectUri) authUrl.searchParams.set('scope', 'user_id') authUrl.searchParams.set('state', crypto.randomUUID()) return sendRedirect(event, authUrl.toString()) })