| 12345678910111213141516171819202122232425262728 |
- import { NextRequest, NextResponse } from 'next/server';
- import { fetchJson } from '@/lib/utils/server';
- export async function GET(request: NextRequest)
- {
- const { searchParams, origin } = request.nextUrl;
- const code = searchParams.get('code');
- const error = searchParams.get('error');
- if (error || !code) {
- return NextResponse.redirect(new URL('/studio/settings?error=cancelled', request.url));
- }
- const redirectUri = `${origin}/api/auth/youtube/callback`;
- const res = await fetchJson('/api/studio/youtube-connect', {
- method: 'POST',
- body: JSON.stringify({ code, redirectUri }),
- headers: { 'Content-Type': 'application/json' }
- });
- if (!res.success) {
- const msg = encodeURIComponent(res.message ?? '연결 실패');
- return NextResponse.redirect(new URL(`/studio/settings?error=${msg}`, request.url));
- }
- return NextResponse.redirect(new URL('/studio/settings?connected=true', request.url));
- }
|