back arrowBack to Blog

Auth Thoughts

OIDC vs SAML: Understanding the Differences

SAML vs OIDC thumbnail

Passwordless authentication is rapidly shaping the future, providing a much-needed break from the reliance on burdensome traditional passwords.

According to recent studies, the average user manages 100 passwords across multiple apps and websites, rendering the current system unsustainable. Thankfully, there are alternative approaches that simplify authentication for developers and end users alike.

Two of the more prevalent authentication protocols in passwordless auth systems are OpenID Connect (OIDC) and Security Assertion Markup Language (SAML). While these protocols share some functionality similarities, comparing SAML vs. OIDC reveals critical differences that significantly impact authentication processes.

Let's dive deeper into the world of SAML and OIDC so that you can better understand which approach to use for your authentication projects.

What is OpenID Connect?

OIDC (OpenID Connect) is a protocol that allows applications to verify users' identities using third-party identifiers. It builds on the Open Authorization (OAuth) framework, which lets applications access user account information without requiring their credentials. OAuth itself does not possess the capacity to authenticate users, which is why OIDC was developed and integrated.

Think of OIDC as a trustworthy bridge between the application you're using and the identity provider (like Google or Facebook). For example, when you choose to log in with your Google account, OIDC helps your app securely communicate with Google to confirm your identity. It then lets the application know that you are indeed the authenticated user.

OpenID Connect flow
Fig: How OpenID Connect works

This process ensures that end users can access applications or websites without the hassle of creating and managing additional credentials. It ensures a seamless and convenient user experience while maintaining the necessary security measures.

OIDC Use Cases

When should you choose OIDC? Here are some common use cases:

  • SSO (Single Sign-On): OIDC enables users to authenticate once with an identity provider and access multiple applications without re-entering credentials.

  • Federated authentication: OIDC can enable primary identity providers to hand off the authentication process to a federated identity provider. This can be done without the developers having to change their primary IdP or user stores.

  • Social login: OIDC allows users to log in to applications using their social media accounts (e.g., Facebook, Google) instead of creating new accounts.

  • Mobile and native apps: OIDC provides secure authentication for mobile and native applications, delegating the process to an identity provider.

  • API authentication and authorization: OIDC secures APIs by verifying client identities and enforcing access controls based on user roles and permissions.

What is SAML?

Security Assertion Markup Language is vital to authentication and authorization data exchange. It acts as a secret code that allows Single Sign-On (SSO) systems to verify user credentials with Identity Providers (IdPs). By facilitating secure information exchange, SAML ensures swift and safe identity verification. 

SAML is particularly useful in scenarios where organizations need to collaborate or provide controlled access to external users. It establishes a trust relationship between different systems and allows them to exchange information about user identities using secure tokens. These tokens, known as SAML assertions, contain verified information about a user's identity and can be used to grant access to resources or applications.

Visual overview of how SAML SSO authentication works
Fig: Visual overview of how SAML SSO authentication works

Ultimately, SAML forms the basis for a reliable authentication process, granting users access to authorized websites and applications.

SAML Use Cases

  • SSO (Single Sign-On): Like OIDC, SAML also enables users to authenticate once and access multiple applications without separate logins, improving convenience and security.

  • Cross-organizational collaboration: SAML facilitates secure collaboration between organizations or domains, simplifying access management.

  • Cloud-based applications: SAML provides SSO for cloud applications, ensuring consistent and secure authentication experiences across various platforms.

  • Web-based services and portals: SAML enables SSO for web-based services, allowing controlled access without separate user accounts or credentials.

Comparing SAML vs. OIDC

OIDC and SAML create a more efficient and secure login process than most traditional password-based authentication systems. However, they differ in how they achieve these outcomes and the specific situations where they are most beneficial. Here’s how they compare:

SAML

OIDC

Protocol Differences

SAML transmits XML documents, which can be cumbersome for certain applications.

OIDC uses comparatively lightweight JSON web tokens (JWT), requiring minimal processing.

Use Cases and Applicability

SAML is older and works best in more traditional work environments, like several enterprise programs that work in close conjunction.

OIDC works especially well in environments that feature mobile APIs and single-page applications.

Security Considerations

SAML has a  longer track record of security performance than OIDC. It’s also more feature-rich and flexible to security needs.

OIDC is as secure as SAML, if not more. However, it avoids the XML-based vulnerabilities that are inherent to SAML.

Scalability and Performance

SAML has been used successfully across many environments for almost 20 years. However, its wide applicability to future uses is being debated.  

OIDC is leaner and more flexible. It’s designed to work with contemporary and emerging technologies, making it an excellent choice for long-term scalability.

Another way to think about OIDC and SAML is as components of broader systems. OIDC is an identity layer built onto OAuth systems, whereas SAML is the underlying technology that enables most SSO infrastructure. Typically, it’s a matter of OAuth/OIDC vs SAML/SSO (although OIDC can also be used for SSO).

Choosing between OIDC vs. SAML

From a developer’s perspective, choosing whether to implement OIDC or SAML auth infrastructure typically depends upon who the end user is. 

Ultimately, the choice often comes down to whether the end users and adopters will require SSO functionality. You can configure apps, websites, and programs to accommodate both SAML/SSO and OAuth/OIDC functionality. But if you have to choose one, here’s how to decide.

When to choose OIDC

If your adopters operate in a contemporary software environment with flexible tech stacks, including many web and mobile applications, then OIDC is likely the best option. Apps that accommodate various end-user devices and exert less control over how users access their profiles will benefit from OIDC.

However, there is always value in accommodating older technology and needs as well. Consider a hybrid approach, leaving room for SAML or SSO alongside or in conjunction with OIDC.

When to choose SAML

The most pressing reason to choose SAML over OIDC is that an adopter organization’s existing infrastructure requires it. SAML has been around in its current form (SAML 2.0) since 2005. While updates have improved its functionality and security since then, its basic applicability is essentially the same. Organizations that depend upon more traditional software suites, like desktop programs, often prefer the reliability of SSO / SAML.

However, even in these cases, including SAML and OIDC functionality options will help adopters prepare for the more agile, mobile future of enterprise software. Flexibility is key.

Drag-and-drop your auth with Descope

Ultimately, OIDC and SAML are more alike than they are different. In many ways, OIDC is seen as a newer iteration of SAML that does some things differently but also leaves some benefits behind. Neither protocol has replaced the other and is unlikely to do so in the near future. 

Both protocols have their unique advantages, with SAML maintaining its relevance in older systems and OIDC excelling in cutting-edge environments. Depending on your user base, it might make sense to incorporate both. However, both protocols can be complex to implement in-house.

With Descope, developers can effortlessly integrate OIDC and SAML authentication into any application or website using just a few lines of code (or in some cases, no code at all). 

  • SAML-based SSO can be added using drag-and-drop workflows, without making any big configuration changes to your app. 

A Descope Flow for SAML configuration
Fig: A Descope Flow for SAML configuration

Sign up for a Free Forever account with Descope to simplify your auth with SAML, OIDC, or any other protocol you need.