Loading...
Loading...
Skill for integrating Better Auth - the comprehensive TypeScript authentication framework.
npx skill4agent add connorads/dotfiles better-auth-best-practicesBETTER_AUTH_SECRETopenssl rand -base64 32BETTER_AUTH_URLhttps://example.combaseURLsecretauth.ts././lib./utils./src--confignpx @better-auth/cli@latest migratenpx @better-auth/cli@latest generatenpx @better-auth/cli mcp --cursor| Option | Notes |
|---|---|
| Optional display name |
| Only if |
| Default |
| Only if |
| Required for most features. See adapters docs. |
| Redis/KV for sessions & rate limits |
| |
| |
| Array of plugins |
| CSRF whitelist |
pg.Poolmysql2better-sqlite3bun:sqlitebetter-auth/adapters/drizzlebetter-auth/adapters/prismabetter-auth/adapters/mongodbUserusersmodelName: "user""users"secondaryStoragesession.storeSessionInDatabase: truecookieCachecompactjwtjwesession.expiresInsession.updateAgesession.cookieCache.maxAgesession.cookieCache.versionuser.modelNameuser.fieldsuser.additionalFieldsuser.changeEmail.enableduser.deleteUser.enabledaccount.modelNameaccount.accountLinking.enabledaccount.storeAccountCookieemailnameemailVerification.sendVerificationEmailemailVerification.sendOnSignUpsendOnSignInemailAndPassword.sendResetPasswordadvanceduseSecureCookiesdisableCSRFCheckdisableOriginCheckcrossSubDomainCookies.enabledipAddress.ipAddressHeadersdatabase.generateId"serial""uuid"falserateLimit.enabledrateLimit.windowrateLimit.maxrateLimit.storagehooks.beforehooks.after{ matcher, handler }createAuthMiddlewarectx.pathctx.context.returnedctx.context.sessiondatabaseHooks.user.create.before/aftersessionaccountctx.contextsessionsecretauthCookiespassword.hash()verify()adapterinternalAdaptergenerateId()tablesbaseURLimport { twoFactor } from "better-auth/plugins/two-factor"from "better-auth/plugins"twoFactororganizationpasskeymagicLinkemailOtpusernamephoneNumberadminapiKeybearerjwtmultiSessionssooauthProvideroidcProvideropenAPIgenericOAuthcreateAuthClient({ plugins: [...] })better-auth/clientbetter-auth/reactbetter-auth/vuebetter-auth/sveltebetter-auth/solidsignUp.email()signIn.email()signIn.social()signOut()useSession()getSession()revokeSession()revokeSessions()typeof auth.$Infer.Sessiontypeof auth.$Infer.Session.usercreateAuthClient<typeof auth>()