diff options
| author | ivar <i@oiee.no> | 2026-06-22 00:46:09 +0200 |
|---|---|---|
| committer | ivar <i@oiee.no> | 2026-06-22 00:46:09 +0200 |
| commit | b8b6e229281be13258715870ddd0c2e1866dee12 (patch) | |
| tree | cc136a2d0c2d9c031ec0b21f62c8a9f302e0ff57 /app/src/routes/sb1-authorize | |
| parent | 1aa60ed7f0b0af6c55df4a32bf2620934df63e6d (diff) | |
| download | sparebank1-actualbudget-b8b6e229281be13258715870ddd0c2e1866dee12.tar.xz sparebank1-actualbudget-b8b6e229281be13258715870ddd0c2e1866dee12.zip | |
Diffstat (limited to 'app/src/routes/sb1-authorize')
| -rw-r--r-- | app/src/routes/sb1-authorize/+server.ts | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/app/src/routes/sb1-authorize/+server.ts b/app/src/routes/sb1-authorize/+server.ts deleted file mode 100644 index d6b8fbf..0000000 --- a/app/src/routes/sb1-authorize/+server.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { error, redirect, json } from '@sveltejs/kit'; -import type { RequestHandler } from './$types'; -import { db } from '$lib/server/db'; -import { SyncSessionTable } from '$lib/server/db/schema'; -import { eq } from 'drizzle-orm'; -import { SB1_ID, SB1_REDIRECT_URI, SB1_SECRET } from '$env/static/private'; -import { Temporal } from "temporal-polyfill" -import sb1 from "$lib/server/sb1" - -export const GET: RequestHandler = async ({ url }) => { - const code = url.searchParams.get('code') - const state = url.searchParams.get('state'); - - if (!code) error(400, "?code is missing") - if (!state) error(400, "?state is missing") - - const session = await db.select().from(SyncSessionTable).where(eq(SyncSessionTable.authzState, state)) - const { id } = session[0] - if (!id) return error(500, "Ingen session") - - const fd = new URLSearchParams() - - fd.set("client_id", SB1_ID) - fd.set("client_secret", SB1_SECRET) - fd.set("redirect_uri", SB1_REDIRECT_URI) - fd.set("code", code) - fd.set("state", state) - fd.set("grant_type", "authorization_code") - - const response = await fetch("https://api.sparebank1.no/oauth/token", { - method: "post", - headers: { - "Content-Type": "application/x-www-form-urlencoded" - }, - body: fd - }) - - const responseJson = await response.json() - - if (response.ok) { - const epoch = Temporal.Now.instant().epochMilliseconds - await db.update(SyncSessionTable).set({ tokens: responseJson, accessTokenCreated: epoch.toString(), refreshTokenCreated: epoch.toString() }).where(eq(SyncSessionTable.id, id)) - await sb1.init() - redirect(302, "/") - } else { - return json(responseJson) - } -} |
