Understanding SSO: Concepts and Protocols

Understanding SSO: Concepts and Protocols

Single Sign-On (SSO) is one of the most common authentication strategies in modern enterprises.

Instead of logging into multiple applications separately, SSO allows a user to:

  • Authenticate once
  • Access multiple applications without re-login

This post explains the **core concepts**, popular protocols, and why SSO is widely used.


What is SSO?

SSO is a user authentication process that permits a user to access multiple applications with **one set of credentials**.

Benefits include:

  • Improved user experience — fewer logins
  • Centralized authentication management
  • Reduced password fatigue and security risks

How SSO works — high-level flow

The typical SSO flow:

  1. User tries to access an application (Service Provider / SP)
  2. SP redirects to an Identity Provider (IdP)
  3. User authenticates at IdP
  4. IdP issues a token or assertion
  5. SP validates token and grants access

After the first login, other SPs accept the same token or session, so the user does not have to log in again.


Popular SSO protocols

1. SAML (Security Assertion Markup Language)

  • XML-based protocol
  • Common in enterprise and legacy systems
  • Uses assertions to pass authentication info

2. OAuth2 / OpenID Connect

  • OAuth2: authorization framework (delegates access)
  • OIDC: authentication layer on top of OAuth2
  • JSON tokens (JWT) for modern web/mobile apps

3. Kerberos

  • Ticket-based authentication
  • Used in Windows / Active Directory environments
  • Works best in intranet setups

SSO vs traditional login

Aspect Traditional Login SSO
Login frequency Multiple times per app Once per session
Central control Each app manages its own users IdP manages users centrally
User experience Login fatigue Smooth experience across apps

Why SSO matters in modern Spring Boot applications

  • Microservices often require a centralized authentication solution
  • Security frameworks like Spring Security support SSO integration
  • Enterprise apps often rely on OAuth2 / OIDC or SAML IdPs

Next steps

The next post in this series will show how to integrate **Keycloak with Spring Boot**, covering real login flows, adapters, and configuration.

Part of the Spring Boot SSO Series

❤️ Support This Blog


If this post helped you, you can support my writing with a small donation. Thank you for reading.


Comments

Popular posts from this blog

fixed: embedded-redis: Unable to run on macOS Sonoma

Copying MDC Context Map in Web Clients: A Comprehensive Guide

Reset user password for your own Ghost blog