FeaturesAuthentication
PreviousNext

Integration

Step-by-step auth integration for an existing web app.

What It Does

Defines the minimum integration contract for using @kit/auth in an app that did not come from CLI generation.

When To Use

  • Retrofitting auth into an existing app.

Prerequisites

  • App has Supabase client/server setup.
  • Route constants available through @kit/shared/config/routes.

How To Use

Create config.

  • Add config/auth.config.ts using parseAuthConfig.

Add proxy enforcement.

proxy.ts
import { authProxy } from '@kit/auth/www/proxy/auth';
import { NextResponse, type NextRequest } from 'next/server';
import { authConfig } from './config/auth.config';
 
export async function proxy(request: NextRequest): Promise<NextResponse> {
  const response = NextResponse.next();
  const maybeAuthResponse = await authProxy(authConfig)(request, response);
  return maybeAuthResponse ?? response;
}

Wrap app with AuthProvider.

import { AuthProvider } from '@kit/auth/www/ui/auth-provider';
import { authConfig } from '~/config/auth.config';
 
<AuthProvider authConfig={authConfig}>{children}</AuthProvider>

Add auth route pages.

  • Use AuthPages in app/auth/[path]/page.tsx.
  • Add callback route in app/auth/callback/route.ts.

Filter API

Auth integration relies on filters for redirect customization and package translation registration.

FilterParametersReturnRegistered By (package file)Initialized In (app entrypoint)Environment
auth_on_sign_in_redirect_url{}stringkit/organization/src/www/filters/use-filters/use-auth-filters.tsxapps/dashboard/hooks/use-filters.ts (useOrgFilters)client
auth_on_sign_up_redirect_url{}stringkit/organization/src/www/filters/use-filters/use-auth-filters.tsxapps/dashboard/hooks/use-filters.ts (useOrgFilters)client
cross_env_get_translations{ language: string; namespace: string }Record<string, string> | nullkit/auth/src/www/filters/cross-env-filters.tsapps/dashboard/lib/init-cross-env-filters.tscross-env
cross_env_get_namespaces{}string[]kit/auth/src/www/filters/cross-env-filters.tsapps/dashboard/lib/init-cross-env-filters.tscross-env

MCP Context

capability: auth_web_integration entrypoints: - proxy.ts - app/auth/[path]/page.tsx - app/auth/callback/route.ts - app/layout.tsx - kit/organization/src/www/filters/use-filters/use-auth-filters.tsx - kit/auth/src/www/filters/cross-env-filters.ts - apps/dashboard/hooks/use-filters.ts - apps/dashboard/lib/init-cross-env-filters.ts inputs: - auth_config outputs: - authenticated_route_guarding constraints: - proxy matcher must include protected pages side_effects: - redirects unauthenticated users to auth pages

Agent Recipe

  1. Add auth.config.ts.
  2. Add proxy integration.
  3. Add provider in app tree and auth routes.

Troubleshooting

  • If protected routes are open, verify proxy matcher covers those paths.
  • If everything redirects to sign-in, verify session cookies and callback route.

How is this guide?

Last updated on 3/27/2026