Build guides
Step-by-step walkthroughs for shipping real features with @buildbase/sdk.
51 posts · page 3 of 5
BuildBase on NestJS: authentication without Passport, JWTs or a refresh table
NestJS authentication without Passport or JWTs: one guard reads a Bearer session ID, RolesGuard keeps working, and ending a session actually ends it.
BuildBase on Next.js: add auth, teams and billing to the app you already have
Add auth, teams and billing to an existing Next.js app: the setup, getting the session to server components, and three popular templates swapped over.
BuildBase on React Router (Remix): hosted sign-in, your own session, no loader changes
React Router v7 authentication with hosted sign-in: a login action, a callback route that swaps the code, and your own session, so no loader changes.
BuildBase on TanStack Start: hosted sign-in without replacing better-auth
TanStack Start authentication for apps already on better-auth: add BuildBase as a better-auth plugin and keep your sessions, roles and server-function checks.
BuildBase on Vite: add auth, teams and billing to a React SPA with no server
Add authentication to a Vite React app with no server of its own: three small functions for the code exchange, an httpOnly cookie, then teams and billing.
How to add passkeys in Next.js
Every passkey tutorial has you writing four WebAuthn route handlers. This one has you writing none, and making one near-permanent decision instead: which domain runs the ceremony.
Session cookie not shared across subdomains
Signed in on app.example.com, signed out on admin.example.com. An attribute-by-attribute audit of the Set-Cookie header that decides it.
How to add magic-link login in Next.js
Turning magic link on takes one toggle. The decisions that follow - session length, which browser opens the link, and deliverability - take longer.
Connection pool exhausted as org count grows
MongoNotConnectedError under load is usually LRU eviction, not a dead database. The arithmetic behind the 30-connection tenant window and where your own ceiling lands.
An invited member who cannot see the workspace
The invite is parked in one of the states it passes through, and the admin console renders most of them identically. Walk the states, find yours, stop reading.
Middleware redirect loop after login in the App Router
Your middleware sees no cookie and 307s to /login. Your login page sees a session and bounces back. Traced hop by hop, plus the matcher and cookie rules that decide where it turns around.
A permission change that has not taken effect yet
A role changed in the console or the SDK is enforced on the next request. What lags is an open tab, a 5-minute API key cache, or a role written by hand. Here is which.