No auth
The "No auth" option of the ReadyNative Expo template: auth.useSession() shim returns signed-out, signOut resolves.
Expo Go: yes
Runs in Expo Go; no dev build needed for this module.
This is the no-op auth option: the app has no accounts, no sign-in screens and no sign-in service to configure. It owns src/lib/auth.ts as a re-export of the core shim, so @/lib/auth keeps the same API whichever option you pick - auth.useSession() returns a signed-out session and auth.signOut() resolves. It also owns src/hooks/use-auth-redirect.ts as a no-op useAuthRedirect(), so the core root layout is identical for every auth option (the hook documents the contract a real module has to implement). Pick this while you're building screens that don't need a user yet.
Setup
bun run setup --auth noneThere's nothing to configure and no keys to paste. The Settings "Account" card only renders for an authenticated session, so it stays hidden.
When you do want accounts, switch with bun run setup --auth supabase, --auth clerk or --auth better-auth.
Usage
The calls exist and are safe to write today, so screens don't need rewriting when you switch:
import { auth } from "@/lib/auth";
const session = auth.useSession(); // always { status: "unauthenticated" }
await auth.signOut(); // resolves, does nothingauth.deleteAccount() also resolves without doing anything, so the Settings "Delete account" row (which only renders for a signed-in user) compiles against this option.
auth.getAuthHeaders() resolves to {}, and the server half, src/server/session.ts, exports a serverAuth whose getRequestUser(request) always returns null (provider: "none"). API routes that need a caller therefore answer 401 - payments/stripe does unless you set STRIPE_ALLOW_ANONYMOUS=true.
Gotchas
- Anything gated on
session.status === "authenticated"never renders while this option is selected. That includes the Settings Account card. - Nothing here needs a dev build; Expo Go is fine.
Reference
Everything below is generated from modules/auth/none/module.json - the same file bun run setup reads, so it is what actually lands in your repo.
Install
bun run setup --auth noneModule id: auth/none.
Files
3 files copied to the project root
src/lib/auth.tssrc/hooks/use-auth-redirect.tssrc/server/session.ts