brivenbeta v1

migrate / nextauth

same user table. same providers. typed functions + hosting on top.

nextauth.js is auth-only — you still need a database, a service layer, and hosting. briven gives you all three, and because both ship Better Auth's table shape, the user migration is the simplest part.

what you're afraid of

will my users have to sign in again?

usually no. briven uses Better Auth, and your nextauth users / accounts / sessions tables already match Better Auth's schema. we copy the rows; OAuth users land on their account on next sign-in without any action.

do my OAuth providers still work?

yes. configure the same Google / GitHub / Apple / etc. client IDs in briven, and existing provider+subject pairs resolve to existing accounts.

what about my getServerSession / useSession code?

replaced with briven's session helpers. shape is similar; types are stricter. light find-and-replace.

the conceptual mapping

your mental model survives the move. left column: what you call it in nextauth / auth.js. right column: where it lives in briven.

nextauth / auth.jsbriven
nextauth users tablebriven users table (same Better Auth shape)
nextauth accounts tablebriven accounts table (1:1)
nextauth sessions tablebriven sessions (1:1)
getServerSession(authOptions)briven session helpers (server components: requireUser())
useSession() hookbriven's useSession (same shape)
authOptions.providers configbriven dashboard → providers (UI configuration)

what the migration actually costs

ranked honestly: what comes for free, what we automate, what stays manual.

questions you actually have

will all my users keep their sessions?
yes if we copy the sessions table; everyone stays signed in. or we can force one fresh sign-in if you prefer cleaner state.
do i lose nextauth's middleware patterns?
briven uses route-level helpers (requireUser, requireSession). the patterns are similar; cleaner, less middleware-magic.
what about my custom adapter / database?
briven owns the database — you don't bring one. your custom adapter logic becomes briven function code.

ready to start? no signup needed

leave us your email and we'll reach out within one business day. your nextauth / auth.js stays untouched the entire time.

request a migration · no signup needed

leave us your email and we'll reach out within one business day. free during beta. your current platform stays untouched until you say cutover.

we read what you send to triage. no marketing emails, ever.

already got a briven account?

jump straight into the in-product wizard for a more detailed intake form — you can save progress and track status from your dashboard.