···11+import { redirect } from '@sveltejs/kit';
22+import { deleteSessionCookie } from '$lib/server/auth';
33+import type { RequestHandler } from './$types';
44+55+export const POST: RequestHandler = async ({ cookies }) => {
66+ deleteSessionCookie({ cookies } as any);
77+ redirect(302, '/');
88+};
+17
src/routes/oauth/callback/+server.ts
···11+import { redirect } from '@sveltejs/kit';
22+import { getOAuthClient } from '$lib/server/atproto/client';
33+import { setSessionCookie } from '$lib/server/auth';
44+import type { RequestHandler } from './$types';
55+66+export const GET: RequestHandler = async (event) => {
77+ const { url } = event;
88+ const params = new URLSearchParams(url.search);
99+1010+ const oauthClient = await getOAuthClient();
1111+ const { session } = await oauthClient.callback(params);
1212+1313+ // set the session cookie
1414+ setSessionCookie(event, session.did);
1515+1616+ redirect(302, '/');
1717+};
+5-1
svelte.config.js
···1111 // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
1212 // If your environment is not supported, or you settled on a specific environment, switch out the adapter.
1313 // See https://svelte.dev/docs/kit/adapters for more information about adapters.
1414- adapter: adapter()
1414+ adapter: adapter(),
1515+ alias: {
1616+ $lexicon: 'src/lexicon/types/app/oxiary',
1717+ $: 'src'
1818+ }
1519 }
1620};
1721