Single Sign-On Platform
OAuth 2.1 w/ OpenID Connect

An Single Sign-On (SSO) platform that adheres to Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), and Event-Driven Architecture (EDA) principles.
Built to demonstrate enterprise-grade, production-level scalable design patterns for distributed systems.

OAuth defines 4 roles:
  • Resource Owner — You side-eye

    The physical person at their computer, using a browser or mobile app.

  • Client — Here we are.

    The OAuth2 client that represents an application (eg: Google Maps, Spotify, etc).

  • Authorization Server — namely SSO.

    In the context of OAuth2, the server that supports OAuth2/OIDC and can do things like provide access tokens. Usually, the authentication server and authorization server are the same component.

    SSO - a generic term for letting someone log in one identity system and get automatically logged in to another identity system.

  • Resource Server — API or service.

    Grants or denies access to clients based on a valid access token provided by the client
    (eg: Google Drive API - serving files, YouTube API - serving video data, etc).