1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import { dev } from '$app/environment';
import { env } from '$env/dynamic/private';
import { env as env2 } from '$env/dynamic/public';
import { redirect } from '@sveltejs/kit';
export const GET = async ({ url, cookies }) => {
const formData = new FormData();
formData.append('grant_type', 'authorization_code');
formData.append('client_id', env2.PUBLIC_ANIMESCHEDULE_CLIENT_ID as string);
formData.append('client_secret', env.ANIMESCHEDULE_CLIENT_SECRET as string);
formData.append('redirect_uri', env2.PUBLIC_ANIMESCHEDULE_REDIRECT_URI as string);
formData.append('code', url.searchParams.get('code') || 'null');
console.log('code', url.searchParams);
cookies.set(
'animeschedule',
JSON.stringify(
await (
await fetch('https://animeschedule.net/api/v3/oauth2/token', {
method: 'POST',
body: formData
})
).json()
),
{
path: '/',
maxAge: 60 * 60 * 24 * 7,
httpOnly: true,
sameSite: 'lax',
secure: !dev
}
);
throw redirect(303, '/settings');
};
|