返回排行榜

ssoready/ssoready

TypeScriptssoready.com

Open-source dev tools for enterprise SSO. Ship SAML + SCIM support this afternoon.

samlssoauthenticationauthauthentication-middlewaresaml-authenticationsaml2saml-service-providersaml-sp-single-sign-onsso-loginsso-apisso-solution
Star 增长趋势
Star
1.5k
Forks
64
周增长
Issues
2
5001k1.5k
2024年5月2025年1月2025年10月2026年7月
制品库npmnpm install ssoready
README

SSOReady



SAML Quickstart   •   SCIM Quickstart   •   Website   •   Docs   •   Blog

What is SSOReady?

SSOReady (YC W24) is an open-source, straightforward way to add SAML and SCIM support to your product:

  • SSOReady SAML: Everything you need to add SAML ("Enterprise SSO") to your product today.
  • SSOReady SCIM: Everything you need to add SCIM ("Enterprise Directory Sync") to your product today.
  • Self-serve Setup UI: A hosted UI your customers use to onboard themselves onto SAML and/or SCIM.

With SSOReady, you're in control:

SSOReady can be extended with these products, available on the Enterprise plan:

  • Custom Domains & Branding: Run SSOReady on a domain you control, and make your entire SAML/SCIM experience on-brand.
  • Management API: Completely automate everything about SAML and SCIM programmatically at scale.
  • Enterprise Support: SLA'd support, including for self-hosted deployments.

Getting started

The fastest way to get started with SSOReady is to follow the quickstart for what you want to add support for:

Most folks implement SAML and SCIM in an afternoon. It only takes two lines of code.

How SSOReady works

This section provides a high-level overview of how SSOReady works, and how it's possible to implement SAML and SCIM in just an afternoon. For a more thorough introduction, visit the SAML quickstart or the SCIM quickstart.

SAML in two lines of code

SAML (aka "Enterprise SSO") consists of two steps: an initiation step where you redirect your users to their corporate identity provider, and a handling step where you log them in once you know who they are.

To initiate logins, you'll use SSOReady's Get SAML Redirect URL endpoint:

// this is how you implement a "Sign in with SSO" button
const { redirectUrl } = await ssoready.saml.getSamlRedirectUrl({
  // the ID of the organization/workspace/team (whatever you call it)
  // you want to log the user into
  organizationExternalId: "..."
});

// redirect the user to `redirectUrl`...

You can use whatever your preferred ID is for organizations (you might call them "workspaces" or "teams") as your organizationExternalId. You configure those IDs inside SSOReady, and SSOReady handles keeping track of that organization's SAML and SCIM settings.

To handle logins, you'll use SSOReady's Redeem SAML Access Code endpoint:

// this goes in your handler for POST /ssoready-callback
const { email, organizationExternalId } = await ssoready.saml.redeemSamlAccessCode({
  samlAccessCode: "saml_access_code_..."
});

// log the user in as `email` inside `organizationExternalId`...

You configure the URL for your /ssoready-callback endpoint in SSOReady.

SCIM in one line of code

SCIM (aka "Enterprise directory sync") is basically a way for you to get a list of your customer's employees offline.

To get a customer's employees, you'll use SSOReady's List SCIM Users endpoint:

const { scimUsers, nextPageToken } = await ssoready.scim.listScimUsers({
  organizationExternalId: "my_custom_external_id"
});

// create users from each scimUser
for (const { email, deleted, attributes } of scimUsers) {
  // ...
}

Philosophy

We believe everyone that sells software to businesses should support enterprise SSO. It's a huge security win for your customers.

The biggest problem with enterprise SSO is that it's way too confusing. Most open-source SAML libraries are underdocumented messes. Every time I've tried to implement SAML, I was constantly looking for someone to just tell me what in the world I was supposed to concretely do.

We believe that more people will implement enterprise SSO if you make it obvious and secure by default. We are obsessed with giving every developer clarity and security here.

Also, we believe randomly pumping up prices on security software like this is totally unacceptable. MIT-licensing the software gives you insurance against us ever doing that. Do whatever you want with the code. Fork us if we ever misbehave.

Security

If you have a security issue to report, please contact us at security@ssoready.com.

相关仓库
keycloak/keycloak

Open Source Identity and Access Management For Modern Applications and Services

JavaMavenApache License 2.0keycloakoidc
keycloak.org
35.8k8.7k
jaredhanson/passport

Simple, unobtrusive authentication for Node.js.

JavaScriptnpmMIT Licensenodejsexpress
passportjs.org
23.5k1.3k
goauthentik/authentik

The authentication glue you need.

PythonPyPIOthersamlsaml-idp
goauthentik.io
22.4k1.7k
apache/casbin

Apache Casbin: an authorization library that supports access control models like ACL, RBAC, ABAC.

GoGo ModulesApache License 2.0casbinaccess-control
casbin.apache.org
20.3k1.8k
casbin/casbin

An authorization library that supports access control models like ACL, RBAC, ABAC in Golang: https://discord.gg/S5UjpzGZjN

GoGo ModulesApache License 2.0casbinaccess-control
casbin.org
18.3k1.7k
zitadel/zitadel

ZITADEL - Identity infrastructure, simplified for you.

GoGo ModulesGNU Affero General Public License v3.0samlauthentication
zitadel.com
14.5k1.2k
logto-io/logto

🧑‍🚀 Authentication and authorization infrastructure for SaaS and AI apps, built on OIDC and OAuth 2.1 with multi-tenancy, SSO, and RBAC.

TypeScriptnpmMozilla Public License 2.0authenticationauthorization
logto.io
14.2k1k
casdoor/casdoor

An open-source Agent-first Identity and Access Management (IAM) /LLM MCP & agent gateway and auth server with web UI supporting OpenClaw, MCP, OAuth, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, Google Workspace, Azure AD

GoGo ModulesApache License 2.0oidcsso
casdoor.ai
14k1.7k
pennersr/django-allauth

Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication. 🔁 Mirror of https://codeberg.org/allauth/django-allauth/

PythonPyPIMIT Licenseauthenticationdjango
allauth.org
10.4k3.1k
teamhanko/hanko

Modern authentication, on your terms. Open source alternative to Auth0, Clerk, WorkOS, Stytch.

GoGo ModulesOtherpasskeyswebauthn
hanko.io
9k1k
pac4j/pac4j

Security engine for Java (authentication, authorization, multi frameworks): OpenID Connect, SAML2, CAS, OAuth, LDAP, JWT...

JavaMavenApache License 2.0javasecurity
pac4j.org
2.5k712
ory/polis

Streamline your web application's authentication with Polis, an SSO service supporting SAML and OpenID Connect protocols. Beyond enterprise-grade Single Sign-On, it also supports Directory Sync via the SCIM 2.0 protocol for automatic user and group provisioning/de-provisioning.

TypeScriptnpmApache License 2.0enterprise-softwaresaml
ory.com
2.3k224