Skip to content
All features
identity and trustpackages/iam/auth

auth package

Multi-provider auth — Clerk, Better Auth, or NextAuth. Same React surface, swap providers via preset config. MFA-enforced, session HMAC-signed.

Open docs
Stability
Stable
Scope
Tenant-scoped
Boundary
packages/iam/auth
@nebutra/auth

Sign in to Nebutra

Single auth surface — swap providers without touching app code.

or sign in with email

3 providers · SSO ready · MFA enforced

Usageauth.ts
typescript
auth.ts
1import { auth } from "@nebutra/auth";
2
3export const POST = auth.handler({
4  provider: "clerk", // | "better-auth" | "next-auth"
5  callbacks: {
6    onSignIn: async ({ user, ctx }) => {
7      await ctx.audit.log("user.sign_in", { userId: user.id });
8    },
9  },
10});