Unclear on how to handle session and cookies in sveltekit

I've followed the sveltekit guide from better auth website However i think it is unclear on how to do sveltekit auth on server side, on the example you do so by doing it on the client but normally you would do a login +page.svelte and then a +page.server.svelte and there you would call the auth.api.signInSocial (or email). Example:
// auth/login/+page.server.ts

export const actions: Actions = {
  login: async (event) => {
    let provider = event.url.searchParams.get("provider") 
    const form = await superValidate(event, zod(loginSchema));
    let redirectUrl = "";
    if (provider) {
      try {
        console.log("provider", provider);
        let data = await auth.api.signInSocial({
          body: {
            provider: provider,
            callbackURL: "http://localhost:5174",
          },
          headers: event.request.headers,
        });
        redirectUrl = data.url!;
      } catch (error) {
        if (error instanceof APIError) {
          redirectUrl = "/login";
          if (provider) {
            return fail(400, {
              message: "Something went wrong with social login",
            });
          } else {
            setError(form, "email", "Invalid Credentials");
            setError(form, "password", "Invalid Credentials");
            return fail(400, { form });
          }
        }
      }
    } 

    throw redirect(302, redirectUrl);
  },
};

continuing below due to discord's character limit
Integrate Better Auth with SvelteKit.
Was this page helpful?