microservices.sh vs Auth0

Managed IdP, or auth you can read and own.

Auth0, Clerk, and WorkOS are mature identity providers — social login, SSO, MFA, SCIM. If you need that breadth, use them. But most apps just need login, sessions, and roles — without per-MAU pricing or a vendor in the auth path. The identity and auth modules give you passwordless email-code login and sessions as source-visible code on your own Cloudflare.

Compared against: Auth0, Clerk, WorkOS

Credit where due

What Auth0 is genuinely good at.

The gap

Where it leaves you exposed.

Per-MAU pricing that scales against you

Auth cost grows with every active user, on someone else's meter — the opposite of a flat, owned foundation.

A black box in your auth path

You can't read or modify how login works; you adapt to the vendor, and a pricing or policy change is yours to absorb.

Lock-in

Migrating identities and sessions off a managed IdP later is one of the harder migrations there is.

Side by side

Head to head.

Auth0 microservices.sh
Model Managed identity provider Source-visible modules you own
Login Social + SSO + MFA + email Passwordless email-code + sessions
Enterprise SSO / SCIM Yes — use Auth0 Not yet — Auth0 wins here
Roles / tenancy Add-on org-team-rbac module
Pricing Per monthly active user Flat — in your plan
Runs on Auth0 cloud Your Cloudflare
Own the code No Yes
Choose Auth0 when

You need enterprise SSO, SCIM, MFA, broad social login, and compliance out of the box — exactly what Auth0/WorkOS are for.

Choose microservices.sh when

You need solid login, sessions, and roles for your app — source-visible and owned, without a per-MAU bill or a vendor in your auth path.

Auth0 is the right call for enterprise IdP breadth. For the common case — login, sessions, roles — the identity and auth modules give the same outcome as code you own on your own Cloudflare, with no per-MAU meter and nothing to migrate off.