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.
Parameters
Section titled “Parameters”config
Section titled “config”The auth configuration including permissions, authentication methods, and role rules.
Returns
Section titled “Returns”A factory function (env: AuthEnvConfig) => AuthInstance to call per-request.
(
env):AuthInstance
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Example
Section titled “Example”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);