Trade Study - Open Source Single Sign-On Technology

Trade Study - Open Source Single Sign-On Technology

Preamble:

Our Engineering Team leverages lot of Open Source Technologies when building production grade platform stack for internal use or for our partners. Before an Open Source Software makes it to the technology stack we do our due diligence by undertaking a trade study to determine the best fit, feature rich, ease of maintenance, community involvement, and user base among multiple similar projects.

In an era where web/tv/mobile applications dominate our daily lives, the need for a secure online access has become a biggest security concern that can no longer be ignored. Single Sign-On (SSO) technologies along with MFA (Multi-Factor Authentication) have emerged as secure solutions for simplifying the user experience and enhancing security. In this blog we will showcase some of the comparative study we undertake as a team in exploring the intricacies, functionalities, benefits, transformative impact, ease of use and maintenance when analyzing selected the best suited open source single sign-on technology. These following Open Source Projects have successfully made it to our shortlist for analysis:

  • KeyCloak: a Cloud Native Computing Foundation incubation project (at the time of writing)
  • Apereo CAS: from the Apereo Foundation
  • Authelia: not a company, no affiliation to any type of incorporated entity
  • Authentik: backed by Authentik Security Inc
  • Zitadel: backed by Zitadel

Comparative Study:

KeyCloak vs. Apereo CAS vs. Authentik vs. Authelia vs. Zitadel

KeycloakApereo CASAuthentikAutheliaZitadel
Open source
Backed byCloud Native Computing FoundationApereo FoundationAuthentik Security IncNo affiliation to any type of incorporated entityZitadel
Commercial supportthird-partythird-partyAuthentik Security Incthird-partyZitadel
License TypeApache v2Apache v2Multi-layer licensingApache v2Apache v2
Supported Standard Protocols
Kerberos----
Radius---
OpenID Connect
OAuth 2.0partial
SAML 2.0-
Json Web Token (JWT)
System for Cross-domain Identity Management (SCIM)---
OpenID Connect Client Initiated Backchannel Authentication (CIBA)-partial--
OAuth 2.0 Pushed Authorization Requests (PAR)--
OAuth 2.0 Demonstrating Proof-of-Possession (dpop)---
W3C Web Authentication (WebAuthn)
Identity Brokering and Social Login
Social LoginSupports login with Google, GitHub, Facebook, Twitter, and other social networksSupports login with Google, GitHub, Facebook, Twitter, and other social networksSupports login with Google, GitHub, Facebook, Twitter, and other social networksSupports login with Google, GitHub, Facebook, Twitter, and other social networksSupports login with Google, GitHub, Facebook, Twitter, and other social networks
Identity BrokeringOpenID Connect or SAML 2.0 IdPsOpenID Connect or SAML 2.0 IdPsOpenID Connect or SAML 2.0 IdPsOpenID ConnectOpenID Connect or SAML 2.0 IdPs
User FederationBuilt-in support to connect to existing LDAP or Active Directory servers. Supports also custom identity provider based on a relational database.Built-in support to connect to existing LDAP or Active Directory servers. Supports WS-Federation built on top of Apache FedixBuilt-in support to connect to existing LDAP or Active Directory servers-Built-in support to connect to existing LDAP or Active Directory servers, and more
Authentication and Authorization
Multi-factor authentication (MFA)Supports OTP, TOTP, and HOTP via Google Authenticator, FreeOTP, AuthySupports OTP, TOTP, and HOTP via Duo Security, YubiKey, RSA, Google Authenticator, WebAuthn, Authy and moreSupports SMS 2FA, OTP, TOTP, and WebAuthnSupports OTP, TOTP, Mobile Push Notifications, and WebAuthnSupports SMS 2FA, OTP, TOTP, Universal Second Factor (U2F), Email 2FA
Passkeys/Passwordless support-
Built-in CORS supportpartial
Session management
Password policy enforcementpartial
Deployment and Scalability
MiddlewareQuarkusApache Tomcat, Jetty, UndertowPython frameworkGo FrameworkGo Framework
Clustering for Scalability and High Availabilitysupportedsupported--supported with CockroachDB cluster
Multi-site deploymentsupported---supported
Multitenancysupported through concept of Realms---
High Availability active-passive deploymentsupportedsupported---
High Availability active-active deploymentsupported with Kubernetes Operatorsupported with multiple nodes or single node with multiple server processes--supported with CockroachDB cluster
Container imageAvailable on Quay.ioAvailable on DockerhubDockerfileAvailable on DockerhubAvailable on ghcr.io
Kubernetes Deploymentsupportedsupportedsupportedsupportedsupported
Kubernetes Operator Available at OperatorHub----
Ansible CollectionAvailable on Github----
Operating System supportLinux and WindowsLinux and WindowsLinux and WindowsLinux and WindowsLinux and Windows
User Interface
Web UI
Admin Management Interfacepartial
User Account Management Interface-
RESTful API Access
Command Line Interface Access--
Customizable Themepartial
Compliance
SOC 2 Type II-----
ISO/IEC 27001 standard for information security management systems----
GDPRpartial--
FIPS 140-2 Compliant---
FAPI 2 (Financial API 2.0 Standard)----
Metrics, Auditing, Reportingsupportedsupportedsupportedsupportedsupported
Extensible
Third Party ExtensionList of available extensions----

Disclaimer:

The information for this comparison was first retrieved on November 27, 2023. The article was last updated on December 5, 2023.

Found this useful:

Follow our page on LinkedIn