Framework Integrations
SvelteKit
Mount Radon in SvelteKit — a catch-all +server.ts handler plus getUser for load functions and hooks. A Radon Pro feature.
Radon Pro
The SvelteKit integration is a Pro feature and requires a license. See Radon Pro.
SvelteKit speaks Web Request/Response, so Radon mounts as a handler you
re-export from a catch-all +server.ts.
1. Mount the auth routes
import { radonSvelteKit } from "@radonsdk/auth/pro/integrations/sveltekit";
import { auth } from "$lib/auth";
const handle = radonSvelteKit(auth, { basePath: "/api/auth" });
export const GET = ({ request }) => handle(request);
export const POST = ({ request }) => handle(request);2. Read the user in a load function
getUser(auth, request) returns the user or null.
import { getUser } from "@radonsdk/auth/pro/integrations/sveltekit";
import { redirect } from "@sveltejs/kit";
import { auth } from "$lib/auth";
export async function load({ request }) {
const user = await getUser(auth, request);
if (!user) throw redirect(303, "/signin");
return { user };
}3. Populate locals.user in hooks
Do it once in hooks.server.ts so every route can read event.locals.user:
import { getUser } from "@radonsdk/auth/pro/integrations/sveltekit";
import { auth } from "$lib/auth";
export async function handle({ event, resolve }) {
event.locals.user = await getUser(auth, event.request);
return resolve(event);
}