Skip to content

createAuth

createAuth(config): (env) => AuthInstance

Defined in: packages/auth/src/create-auth.ts:92

Creates a pre-configured auth factory for Cloudflare Workers.

Returns an initAuth() function that accepts per-request environment bindings (AuthEnvConfig) and produces a fully initialized AuthInstance with session management, role assignment, impersonation, and magic link support.

AuthConfig

The auth configuration including permissions, authentication methods, and role rules.

A factory function (env: AuthEnvConfig) => AuthInstance to call per-request.

(env): AuthInstance

AuthEnvConfig

AuthInstance

import { createAuth } from "@cfast/auth";
import { permissions } from "./permissions";
export const initAuth = createAuth({
permissions,
magicLink: {
sendMagicLink: async ({ email, url }) => {
await sendEmail({ to: email, html: `<a href="${url}">Sign in</a>` });
},
},
redirects: { afterLogin: "/", loginPath: "/login" },
});
// Per-request initialization:
const auth = initAuth({ d1: env.DB, appUrl: "https://myapp.com" });
const ctx = await auth.requireUser(request);