Unified OAuth infrastructure

One SDK.
Every OAuth
provider.

Configure Google, GitHub, Discord, Microsoft, Apple and more once. Expose one callback. Use one SDK. Receive one normalized user profile.

Free tier forever Encrypted credentials 5-minute setup
Google
GitHub
Discord
Microsoft
MultiAuthy
MultiAuthynormalize · verify
user.jsonnormalized
{
  "id": "1a2b...",
  "provider": "google",
  "email": "jane@acme.co",
  "name": "Jane Cooper",
  "username": "jane",
  "verified": true
}

Trusted by teams shipping production auth

ACME
NORTHWIND
HYPERLOOP
OCTAVE
PARADIGM
MERIDIAN
Why MultiAuthy

Auth infrastructure, without the busywork.

Stop rewriting OAuth for every provider. MultiAuthy is the layer between your app and every identity provider you'll ever need.

One unified interface

Configure every provider through a single dashboard. One callback URL. One API surface.

5 minutes to production

Paste your Client ID and Secret. Copy your callback URL. You are done.

Encrypted by default

OAuth secrets are encrypted at rest with AES-256-GCM. Never exposed to the client.

Normalized user object

Every provider returns the same shape. No provider-specific field mapping.

Developer-first SDK

TypeScript-first. Works with Express, Next.js, Node.js and Bun out of the box.

Full audit trail

Every login attempt is logged. Filter, search, export. Debug in production.

Supported providers

Ten providers.
One integration.

Add or remove providers from the dashboard. Your code never changes.

Google
GitHub
Discord
Microsoft
Apple
LinkedIn
Facebook
X (Twitter)
GitLab
Slack
Unified user object

Every provider.
The same shape.

No `given_name` vs `first_name`. No `picture` vs `avatar_url`. Just one shape, forever.

req.userjson
{
  "id":       "1a2b3c4d...",
  "provider": "google",
  "email":    "jane@acme.co",
  "name":     "Jane Cooper",
  "username": "jane",
  "avatar":   "https://.../jane.jpg",
  "verified": true
}
The SDK

Six lines to production auth.

Install once. Configure providers in the dashboard. Use anywhere.

server.ts
import { MultiAuthy } from "@multiauthy/sdk"

const auth = new MultiAuthy({
  apiKey:    process.env.MULTIAUTHY_KEY,
  projectId: process.env.MULTIAUTHY_PROJECT,
})

app.get("/login", (req, res) => {
  res.redirect(auth.login("google"))
})

app.get("/callback", auth.callback(), (req, res) => {
  console.log(req.user)
})
Terminal
$ npm install @multiauthy/sdk

added 1 package in 2s

$ curl https://your-app.onrender.com/api/callback \
    -H "Authorization: Bearer ma_live_..."

{
  "email":  "jane@acme.co",
  "provider":"google",
  "verified":true
}
How it works

From zero to signed in.

01

Create a project

Give it a name. Get an API key and a callback URL. Instant.

02

Configure providers

Paste each provider's Client ID and Secret. Credentials are encrypted server-side.

03

Install the SDK

One package. Point it at your project and expose a single callback route.

04

Ship auth

Redirect users to log in. Receive one normalized user profile. Done.

The dashboard

Minimal. Precise. Fast.

Configure providers, rotate keys, inspect logs. Nothing more.

Projects

New project
acme-web
4 providers
12,481 logins
northwind-api
2 providers
3,127 logins
meridian-mobile
6 providers
48,502 logins
Developer experience

Built for people who read the source.

No magic. No lock-in. No convention that surprises you at 2am.

  • Zero-config TypeScript SDK
  • Framework-agnostic (Express, Next.js, Node, Bun)
  • Idempotent callback handler
  • Session and refresh tokens managed for you
  • Structured error codes, never opaque strings
  • Full JSDoc across every public method
What developers say

"We removed 1,400 lines of custom OAuth code. Two hours of migration, seven providers live."

Lena Ostrowski
Staff Engineer, Meridian

"The normalized user object alone is worth it. No more branching on provider fields."

Adebayo Okonkwo
Founder, Northwind

"Finally an auth product that doesn't try to own our user model. Just OAuth, done right."

Priya Ramanathan
CTO, Octave
Pricing

Simple, predictable pricing.

Hobby
$0/mo
For side projects and prototypes
  • 1 project
  • 5,000 logins / month
  • All 10 providers
  • Community support
Start free
Startup
$29/mo
For teams shipping to production
  • 10 projects
  • 100,000 logins / month
  • Audit logs & webhooks
  • Email support
Start Startup
Enterprise
Custom
For regulated and high-scale
  • Unlimited projects
  • SLA & priority support
  • SAML SSO for your team
  • Custom data residency
Contact sales
FAQ

Answers.

How is MultiAuthy different from Auth0 or Clerk?+

Auth0 and Clerk own your user model. MultiAuthy is a thin OAuth gateway — it hands you a normalized user object and gets out of the way. Bring your own database, your own sessions, your own everything.

Where are OAuth credentials stored?+

Client IDs and Secrets are encrypted with AES-256-GCM before hitting the database. They are only ever decrypted server-side during a live OAuth exchange.

Do I have to change my callback URL if I switch providers?+

No. You register one callback URL per project. Adding or removing providers never changes it.

Which frameworks does the SDK support?+

Express, Next.js, Node.js, and Bun. The SDK is framework-agnostic at its core — anywhere with a request/response cycle works.

Is there a self-hosted option?+

The backend is open source. Enterprise customers receive a container image and setup support.

Ship auth this afternoon.

Free forever for hobbyists. Five minutes to your first login.