diff options
| -rw-r--r-- | .eslintignore | 1 | ||||
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | .prettierignore | 1 | ||||
| -rw-r--r-- | src/routes/api/oauth/animeschedule/callback/+server.ts.bak | 35 | ||||
| -rw-r--r-- | vite.config.ts | 10 |
5 files changed, 47 insertions, 1 deletions
diff --git a/.eslintignore b/.eslintignore index 35fca122..9e85a9a0 100644 --- a/.eslintignore +++ b/.eslintignore @@ -13,6 +13,7 @@ .env* *.sqlite3 .secret +certificates # NPM package-lock.json @@ -13,6 +13,7 @@ .env* *.sqlite3 .secret +certificates # NPM package-lock.json diff --git a/.prettierignore b/.prettierignore index 35fca122..9e85a9a0 100644 --- a/.prettierignore +++ b/.prettierignore @@ -13,6 +13,7 @@ .env* *.sqlite3 .secret +certificates # NPM package-lock.json diff --git a/src/routes/api/oauth/animeschedule/callback/+server.ts.bak b/src/routes/api/oauth/animeschedule/callback/+server.ts.bak new file mode 100644 index 00000000..2364d071 --- /dev/null +++ b/src/routes/api/oauth/animeschedule/callback/+server.ts.bak @@ -0,0 +1,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'); +}; diff --git a/vite.config.ts b/vite.config.ts index d0778634..601075f0 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,7 +1,15 @@ import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; // import { webSocketServer } from '$lib/websocket'; +import fs from 'fs'; export default defineConfig({ - plugins: [sveltekit() /* webSocketServer */] + plugins: [sveltekit() /* webSocketServer */], + server: { + https: { + key: fs.readFileSync(`${import.meta.dir}/certificates/key.pem`), + cert: fs.readFileSync(`${import.meta.dir}/certificates/certificate.pem`) + }, + proxy: {} + } }); |