tags : Security, Authentication, Authorization

Two parts

SSO

Covering all bases for SSO

To cover all your bases, you need 2 identity providers. Any modern identity provider worth itself will also be able to sync back to an LDAP server to keep the two consistent.

  • An LDAP server that’s preferably not exposed to the web
  • An SSO identity provider that is exposed to the web.

Products

There are opensource and prioperty Products

NameTypeRemarkReleased/Founded
KeycloakOpen SourceMature open-source IAM solution, Java-based, highly customizable.2014
AuthentikOpen SourceModern open-source Identity Provider (IdP), focuses on flexibility and integrations.~2020
AutheliaOpen SourceOpen-source authentication and authorization server, often paired with reverse proxies for SSO.~2019
Ory KratosOpen SourceAPI-first, headless identity & user management system, part of the Ory ecosystem.2016
CasdoorOpen SourceUI-first open-source IAM/SSO platform supporting various protocols.~2020/2021
SupertokensOpen Source / SaaSOpen-source authentication, often noted for session management, offers a hosted service too.2019
ZitadelOpen Source / SaaSCloud-native open-source identity platform built in Go, focuses on multi-tenancy and B2B.~2019/2020
OktaSaaS (IDaaS)Major enterprise-grade cloud Identity and Access Management (IAM) service.2009 (Founded)
Auth0SaaS (IDaaS)Developer-focused identity platform, known for ease of implementation, acquired by Okta.2013 (Founded)
ClerkSaaS (IDaaS)Developer-focused authentication & user management, strong frontend component library (React, etc.).~2021
Firebase AuthBaaS FeaturePart of Google’s Firebase platform, provides backend authentication services for apps.~2016
Supabase AuthBaaS FeatureAuthentication component of Supabase (open-source Firebase alternative), built on PostgreSQL.~2020
AWS CognitoCloud ServiceAWS identity service for web/mobile apps, offering user pools and federated identities.2014

Keycloak

  • Open-source identity and access management by RedHat
  • Managing users, roles, and permissions, as well as for implementing multi-factor authentication and social login.
  • Supports authentication mechanisms such as OpenID Connect, OAuth 2.0, and SAML
  • You also need to use their template and plugin system (so Java for Keycloak)
  • Can’t use a different OAuth2 provider because well - you use Keycloak
  • Needs to be selfhosted
  • Keycloak with PostgreSQL on Kubernetes | Hacker News

Auth0

  • Dedicated to providing its solution in the SaaS model.
  • Owned by Okta now

Okta

  • Identity SaaS product

Ory

  • Has both selfhosted and SaaS based(Ory Network)
  • Not super mature

Ory Kratos

Ory Hydra

  • OAuth/OIDC provider
  • Have multiple apps that need a common sign-in method (SSO)
  • 3rd parties to access your users data safely etc.

Oathkeeper

  • 2017 : Access control for API endpoints
  • Can be run in 2 modes

    • Reverse Proxy Mode

      • Acts as a gatekeeper, intercepting client traffic before upstream services.
      • Applies access rules (authentication, authorization, mutation).
      • Forwards allowed requests upstream.
      • Rejects denied requests with an error.
      • Functions as the Policy Enforcement Point (PEP).
    • Decision API Mode (Policy Decision Point)

      • Exposes a decision API (e.g., /decisions) queried by an external proxy/gateway.
      • External proxy sends request details to Oathkeeper for evaluation.
      • Oathkeeper evaluates rules and returns an allow/deny decision.
      • External proxy enforces the decision (forwards or blocks).
      • Oathkeeper acts as the Policy Decision Point (PDP).
      • Allows integration with existing infrastructure (which acts as the PEP).
      • Reverse Proxy: Caddy like usecase but does the auth for you
      • Decision API:

Keto

  • Authorization, define advanced permission rules (“Access Control Policies”)
  • Permission management, roles, who is allowed to do what

Supertokens

  • Ory has criticized these guys of using incorrect terms and specs etc.

Authentik

  • Authentik is a full LDAP container reimplementation with many bell and whistles.

Authelia

  • Authelia needs a LDAP or file backend with user credentials

Others