# Auth.js (NextAuth.js) vs WorkOS

**Leader by Vioscale score:** WorkOS

| Attribute | Auth.js (NextAuth.js) | WorkOS |
|---|---|---|
| **Vioscale score** | 54.8 (47% (low)) | 71.6 (72% (medium)) |
| activity.commits_last_30d | 7 | - |
| adoption.dependent_repos | 6,629 | - |
| adoption.github_stars | 28,345 | - |
| adoption.package_downloads_weekly | 5,865,070 | - |
| deployment.options | `{"self_hosted":true}` | `{"cloud":true}` |
| description.long | An open-source authentication solution that integrates with web frameworks to provide OAuth-based authentication with customizable sign-in pages. | A developer-focused authentication platform that provides single sign-on, SCIM user provisioning, role-based access control, and multi-factor authentication for SaaS applications. Designed to help companies quickly support enterprise security requirements without extensive in-house implementation. |
| features.capabilities | `{"hosting":"self","hosted_ui":"headless","open_source":true,"social_login":true}` | `{"mfa":true,"oidc":true,"rbac":true,"hosting":"cloud","saml_sso":true,"hosted_ui":"both","passwordless":true,"social_login":true,"b2b_multi_tenant":true,"scim_provisioning":true}` |
| integrations.count | 1 | 12 |
| integrations.list | `[{"name":"GitHub"}]` | `[{"name":"LinkedIn"},{"name":"Slack"},{"name":"GitLab"},{"name":"Bitbucket"},{"name":"Xero"},{"name":"Rippling"},{"name":"ADP"},{"name":"Intuit"},{"name":"Google"},{"name":"GitHub"},{"name":"Microsoft"},{"name":"Apple"}]` |
| language.primary | TypeScript | - |
| license.spdx | ISC | - |
| market.availability | - | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"web":true}` | `{"ios":true,"web":true}` |
| pricing | `{"type":"open_source","summary":"Free and open source","freeTier":true,"sourceUrl":"https://authjs.dev","retrievedAt":"2026-08-14T11:04:51.520Z"}` | `{"type":"subscription","plans":[{"free":true,"name":"Free","summary":"Free up to 1,000,000 MAUs/month","features":["Single Sign-On (SAML & OIDC)","SCIM provisioning","Role-based access control","Bot detection","Identity linking","Multi-factor authentication","Social authentication (Microsoft, Google, Apple, GitHub, LinkedIn, Slack, GitLab, Bitbucket, Xero, Rippling, ADP, Intuit)","Magic Auth (passwordless email codes)","Audit logs","Agent authentication"],"components":[{"kind":"fixed","amount":0,"period":"month","currency":"USD"}],"description":"Up to 1 million monthly active users with core features included","contactSales":false,"includedLimits":{"maus":"1,000,000/month","admins":"unlimited","organizations":"unlimited"}}],"addOns":[{"name":"Overage Monthly Active Users","components":[{"kind":"fixed","amount":2500,"period":"month","currency":"USD"}]},{"name":"SSO Connections per Organization","components":[{"kind":"fixed","amount":125,"period":"month","currency":"USD"}]},{"name":"Custom Domain","components":[{"kind":"fixed","amount":99,"period":"month","currency":"USD"}]}],"summary":"Free up to 1,000,000 MAUs. $2,500/month per additional million MAUs. $125/month per SSO-enabled organization.","currency":"USD","freeTier":true,"sourceUrl":"https://workos.com/blog/auth0-pricing-how-it-works-and-compares-to-workos","retrievedAt":"2026-08-14T08:35:19.116Z","billingPeriods":["month"]}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | freemium |
| pricing.price_level | free | low |
| pricing.transparent | - | yes |
| release.history | `[{"url":"https://github.com/nextauthjs/next-auth/releases/tag/next-auth%404.24.15","date":"2026-07-20T23:22:47Z","type":"stable","version":"next-auth@4.24.15"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/xata-adapter%401.11.3","date":"2026-07-20T21:54:07Z","type":"stable","version":"@auth/xata-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/upstash-redis-adapter%402.11.3","date":"2026-07-20T21:54:09Z","type":"stable","version":"@auth/upstash-redis-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/unstorage-adapter%402.11.3","date":"2026-07-20T21:54:11Z","type":"stable","version":"@auth/unstorage-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/typeorm-adapter%402.11.3","date":"2026-07-20T21:54:13Z","type":"stable","version":"@auth/typeorm-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/sveltekit%401.11.3","date":"2026-07-20T21:54:00Z","type":"stable","version":"@auth/sveltekit@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/surrealdb-adapter%402.2.3","date":"2026-07-20T21:54:14Z","type":"stable","version":"@auth/surrealdb-adapter@2.2.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/supabase-adapter%401.11.3","date":"2026-07-20T21:54:16Z","type":"stable","version":"@auth/supabase-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/solid-start%400.19.3","date":"2026-07-20T21:54:02Z","type":"stable","version":"@auth/solid-start@0.19.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/sequelize-adapter%402.11.3","date":"2026-07-20T21:54:18Z","type":"stable","version":"@auth/sequelize-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/qwik%400.9.3","date":"2026-07-20T21:54:03Z","type":"stable","version":"@auth/qwik@0.9.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/prisma-adapter%402.11.3","date":"2026-07-20T21:54:19Z","type":"stable","version":"@auth/prisma-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/pouchdb-adapter%402.11.3","date":"2026-07-20T21:54:21Z","type":"stable","version":"@auth/pouchdb-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/pg-adapter%401.11.3","date":"2026-07-20T21:54:23Z","type":"stable","version":"@auth/pg-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/neon-adapter%401.11.3","date":"2026-07-20T21:54:24Z","type":"stable","version":"@auth/neon-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/neo4j-adapter%402.11.3","date":"2026-07-20T21:54:26Z","type":"stable","version":"@auth/neo4j-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/mongodb-adapter%403.11.3","date":"2026-07-20T21:54:28Z","type":"stable","version":"@auth/mongodb-adapter@3.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/mikro-orm-adapter%402.11.3","date":"2026-07-20T21:54:30Z","type":"stable","version":"@auth/mikro-orm-adapter@2.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/kysely-adapter%401.11.3","date":"2026-07-20T21:54:31Z","type":"stable","version":"@auth/kysely-adapter@1.11.3"},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/%40auth/hasura-adapter%401.11.3","date":"2026-07-20T21:54:33Z","type":"stable","version":"@auth/hasura-adapter@1.11.3"}]` | - |
| reliability.sla_pct | - | 99.99 |
| reliability.status_page | yes | yes |
| security.disclosure_policy | yes | yes |
| security.gdpr | - | yes |
| security.hipaa | - | yes |
| security.scorecard | 6 | - |
| security.soc2 | - | yes |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40next-auth%2Fprisma-adapter&per_page=100","last_12m":0,"max_severity":null}` | - |

## Capabilities (Auth & Identity Software)

| Capability | Auth.js (NextAuth.js) | WorkOS |
|---|:--:|:--:|
| **Deployment** |  |  |
| Hosting | Self-hosted only | Cloud only |
| **Methods** |  |  |
| Social login | ✓ | ✓ |
| Passwordless | - | ✓ |
| Passkeys / WebAuthn | - | - |
| Multi-factor auth | - | ✓ |
| **Enterprise** |  |  |
| SAML SSO | - | ✓ |
| SCIM provisioning | - | ✓ |
| B2B / multi-tenancy | - | ✓ |
| **Standards** |  |  |
| OpenID Connect provider | - | ✓ |
| **Delivery** |  |  |
| Hosted UI | Headless | Both |
| **Access** |  |  |
| RBAC | - | ✓ |
| **Licensing** |  |  |
| Self-hostable OSS core | ✓ | - |

*Source: Vioscale. Generated 2026-09-01T17:20:55.079Z. "-" = undocumented, not absent.*
