Files
weeklyreport/server/api/auth/synology/index.get.ts
Hyoseong Jo 69b28746ff fix: Synology SSO Implicit Grant 방식으로 변경
- response_type: code → token
- redirect_uri: /api/... → /auth/... (프론트엔드 페이지)
- 프론트엔드 callback 페이지 추가 (hash fragment 파싱)
- verify API 추가 (access_token 검증)
2026-01-11 23:31:56 +09:00

27 lines
890 B
TypeScript

/**
* 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', 'token')
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())
return sendRedirect(event, authUrl.toString())
})