Skip to content

createAuthHelpers

createAuthHelpers<TUser>(options): AuthHelpers<TUser>

Defined in: packages/auth/src/helpers.ts:93

Creates a set of auth helper functions that wrap an AuthInstance.

Replaces the ~35 lines of identical auth.helpers.server.ts boilerplate that every cfast app copy-pastes. Apps that need to extend the user object (e.g., adding vendorId in the store app) pass an enrichUser hook.

TUser extends AuthUser = AuthUser

AuthHelpersOptions<TUser>

Configuration with getAuth factory and optional enrichUser hook.

AuthHelpers<TUser>

An object with getAuthContext, requireAuthContext, getUser, requireUser.

app/auth.helpers.server.ts
import { createAuthHelpers } from "@cfast/auth/helpers";
import { initAuth } from "./auth.setup.server";
import { env } from "./env";
const { getAuthContext, requireAuthContext, getUser, requireUser } =
createAuthHelpers({
getAuth: () => initAuth({ d1: env.get().DB, appUrl: env.get().APP_URL }),
});
export { getAuthContext, requireAuthContext, getUser, requireUser };
// With enrichUser hook (e.g., store app)
const helpers = createAuthHelpers({
getAuth: () => initAuth({ d1: env.get().DB, appUrl: env.get().APP_URL }),
enrichUser: async (user) => {
const vendor = await lookupVendor(user.id);
return { ...user, vendorId: vendor?.id ?? null };
},
});