ShelfAuthOptions
Defined in: packages/auth/src/engine.ts:34
Options for createShelfAuth.
Properties
Section titled “Properties”baseURL
Section titled “baseURL”baseURL:
string
Defined in: packages/auth/src/engine.ts:40
Public base URL issuing auth responses (callback + cookie scope).
db:
DatabaseAdapter
Defined in: packages/auth/src/engine.ts:36
Shelf database (any driver; auth tables migrate via driver DDL).
emailPassword?
Section titled “emailPassword?”
optionalemailPassword?:boolean
Defined in: packages/auth/src/engine.ts:42
Enable email/password login. Defaults to true.
emailSender?
Section titled “emailSender?”
optionalemailSender?: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.
fromEmail?
Section titled “fromEmail?”
optionalfromEmail?:string
Defined in: packages/auth/src/engine.ts:50
Sender address for auth mail (defaults to storyshelf@<baseURL host>).
logger?
Section titled “logger?”
optionallogger?:Logger
Defined in: packages/auth/src/engine.ts:61
Host-owned logger for auth diagnostics (explicit override only).
oauth?
Section titled “oauth?”
optionaloauth?:ShelfOAuthProvider[]
Defined in: packages/auth/src/engine.ts:65
OAuth/OIDC providers, each rendered as one login button. Defaults to none.
onAuthSystemEvent?
Section titled “onAuthSystemEvent?”
optionalonAuthSystemEvent?: (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.
Parameters
Section titled “Parameters”"sys:user-created" | "sys:invite-issued"
Record<string, unknown>
Returns
Section titled “Returns”unknown
passkeys?
Section titled “passkeys?”
optionalpasskeys?:ShelfPasskeyOptions
Defined in: packages/auth/src/engine.ts:67
WebAuthn passkeys (profile enrollment; sign-in ceremony is E8). Defaults to off.
plugins?
Section titled “plugins?”
optionalplugins?:BetterAuthPlugin[]
Defined in: packages/auth/src/engine.ts:71
Extra Better Auth plugins (passkey, SSO, …). Defaults to none.
secret
Section titled “secret”secret:
string
Defined in: packages/auth/src/engine.ts:38
Session/cookie signing secret (non-empty; Better Auth validates strength).
sessionExpiresInDays?
Section titled “sessionExpiresInDays?”
optionalsessionExpiresInDays?:number
Defined in: packages/auth/src/engine.ts:73
Session lifetime in days. Defaults to 7 (current parity).
social?
Section titled “social?”
optionalsocial?:ShelfSocialProvider[]
Defined in: packages/auth/src/engine.ts:63
Native social providers (GitHub, Google, Entra, Cognito…), each one button.
optionalsso?:ShelfSSOOptions
Defined in: packages/auth/src/engine.ts:69
Domain-routed SSO (OIDC discovery + SAML via samlify). Defaults to none.