Built on Cloudflare Workers — globally fast

Authentication that
just works
for every tenant.

Multi-tenant auth with social login, passkeys, TOTP 2FA, RBAC, SCIM provisioning, and a self-service customer portal. Deploy once, scale everywhere.

300+
Edge locations
6
Sign-in methods
2 lines
To integrate
OIDC · SCIM
Standards-based
Features

Everything you need to ship auth

Stop building authentication from scratch. AuthNex provides every piece you need, secured by default.

Multi-Tenant by Default

Isolated user pools, roles, and API keys per tenant. Self-service signup with plan-based limits.

Social Login

Google, Microsoft, and GitHub OAuth built in. Tenants can bring their own credentials for branded consent screens.

Passkeys / WebAuthn

Passwordless authentication with platform authenticators. Register, authenticate, and manage multiple passkeys per user.

TOTP Two-Factor Auth

RFC 6238 compliant TOTP with backup codes. Uses async crypto.subtle for proper HMAC-SHA1.

SCIM 2.0 Provisioning

Enterprise IdP user sync via standard SCIM protocol. Auto-create, update, and deactivate users.

RBAC & Permissions

Flexible role-based access control with custom permissions. System roles plus tenant-scoped roles.

JWT & OIDC

RS256-signed JWTs, JWKS endpoint, and OpenID Connect discovery. Standard token refresh flows.

Custom Branding

Per-tenant logo, colors, and app name. SDK widget automatically fetches and applies your branding.

Audit Logs & Analytics

Full audit trail for every auth event. Analytics dashboards for login trends, anomalies, and security insights.

Integration

Integrate in minutes

Add authentication to any app with a few lines of code.

Drop-in JavaScript Widget

One script tag. Embeddable login form with social buttons, passkey support, and auto-branding — no backend changes needed.

PHP SDK

Composer package with token verification, user management, and middleware — works with Laravel, Symfony, and vanilla PHP.

// Drop-in widget — 2 lines <script src="https://auth.yourapp.com/widget.js"></script> <div id="authnex-login" data-tenant="my-company"></div> // Or use the PHP SDK use AuthNex\Client; $auth = new Client('your-api-key'); $user = $auth->verifyToken($_COOKIE['token']); if ($user->hasPermission('admin:read')) { // Authorized }
Pricing

Simple, transparent pricing

Start free. Scale when you're ready. No hidden fees.

Free
$0/mo
Perfect for side projects and prototypes
  • 50 users
  • 5,000 API calls/month
  • Social login
  • Email/password auth
  • Community support
Get Started
Pro
$99/mo
For scaling businesses with enterprise needs
  • 5,000 users
  • 500,000 API calls/month
  • SCIM 2.0 provisioning
  • OIDC / SSO
  • GDPR data export
  • Priority support
Start Free Trial

Ready to ship auth today?

Create your free account and start integrating in minutes.

Create free account