diff --git a/server/api/auth/synology/index.get.ts b/server/api/auth/synology/index.get.ts index 1e0f227..cbda5bc 100644 --- a/server/api/auth/synology/index.get.ts +++ b/server/api/auth/synology/index.get.ts @@ -5,16 +5,20 @@ * Synology SSO Server OAuth 2.0 인증 페이지로 리다이렉트 */ export default defineEventHandler(async (event) => { - // 하드코딩 테스트 - const synologyServerUrl = 'https://sso.osolit.net' - const synologyClientId = 'afa90b7b4a9773af41f2c7b110f92d6e' - const synologyRedirectUri = 'https://weeklyreport.turbosoft.kr/api/auth/synology/callback' + const config = useRuntimeConfig() + + if (!config.synologyServerUrl || !config.synologyClientId) { + throw createError({ + statusCode: 500, + message: 'Synology SSO가 설정되지 않았습니다.' + }) + } // Synology SSO Server OAuth 인증 URL - const authUrl = new URL(`${synologyServerUrl}/webman/sso/SSOOauth.cgi`) + const authUrl = new URL(`${config.synologyServerUrl}/webman/sso/SSOOauth.cgi`) authUrl.searchParams.set('response_type', 'code') - authUrl.searchParams.set('client_id', synologyClientId) - authUrl.searchParams.set('redirect_uri', synologyRedirectUri) + authUrl.searchParams.set('app_id', config.synologyClientId) + authUrl.searchParams.set('redirect_uri', config.synologyRedirectUri) authUrl.searchParams.set('scope', 'user_id') authUrl.searchParams.set('state', crypto.randomUUID())