Skip to content

RawShelfAuthOptions

Defined in: packages/auth/src/config.ts:41

Input for resolveAuthOptions (refs allowed in any string field).

baseURL: string

Defined in: packages/auth/src/engine.ts:40

Public base URL issuing auth responses (callback + cookie scope).

ShelfAuthOptions.baseURL


db: DatabaseAdapter

Defined in: packages/auth/src/engine.ts:36

Shelf database (any driver; auth tables migrate via driver DDL).

ShelfAuthOptions.db


optional emailPassword?: boolean

Defined in: packages/auth/src/engine.ts:42

Enable email/password login. Defaults to true.

ShelfAuthOptions.emailPassword


optional emailSender?: EmailSender

Defined in: packages/auth/src/engine.ts:48

Email transport shared with notification channels. When set, invite links are emailed best-effort and password-reset requests send mail; when unset, invites stay out-of-band links and resets stay re-invite.

ShelfAuthOptions.emailSender


optional fromEmail?: string

Defined in: packages/auth/src/engine.ts:50

Sender address for auth mail (defaults to storyshelf@<baseURL host>).

ShelfAuthOptions.fromEmail


optional logger?: Logger

Defined in: packages/auth/src/engine.ts:61

Host-owned logger for auth diagnostics (explicit override only).

ShelfAuthOptions.logger


optional oauth?: ShelfOAuthProvider[]

Defined in: packages/auth/src/engine.ts:65

OAuth/OIDC providers, each rendered as one login button. Defaults to none.

ShelfAuthOptions.oauth


optional onAuthSystemEvent?: (event, data) => unknown

Defined in: packages/auth/src/engine.ts:56

System-event hook for host-owned fan-out (e.g. sys:user-created, sys:invite-issued to admin channels). Best-effort: failures are logged and swallowed, never break auth flows.

"sys:user-created" | "sys:invite-issued"

Record<string, unknown>

unknown

ShelfAuthOptions.onAuthSystemEvent


optional passkeys?: ShelfPasskeyOptions

Defined in: packages/auth/src/engine.ts:67

WebAuthn passkeys (profile enrollment; sign-in ceremony is E8). Defaults to off.

ShelfAuthOptions.passkeys


optional plugins?: BetterAuthPlugin[]

Defined in: packages/auth/src/config.ts:45

Custom Better Auth plugins (never validated; passed through by reference).


optional resolveSecrets?: ResolveSecrets

Defined in: packages/auth/src/config.ts:43

Secret backend fallback for refs missing from process.env.


secret: string

Defined in: packages/auth/src/engine.ts:38

Session/cookie signing secret (non-empty; Better Auth validates strength).

ShelfAuthOptions.secret


optional sessionExpiresInDays?: number

Defined in: packages/auth/src/engine.ts:73

Session lifetime in days. Defaults to 7 (current parity).

ShelfAuthOptions.sessionExpiresInDays


optional social?: ShelfSocialProvider[]

Defined in: packages/auth/src/engine.ts:63

Native social providers (GitHub, Google, Entra, Cognito…), each one button.

ShelfAuthOptions.social


optional sso?: ShelfSSOOptions

Defined in: packages/auth/src/engine.ts:69

Domain-routed SSO (OIDC discovery + SAML via samlify). Defaults to none.

ShelfAuthOptions.sso