SSO

SSO Authentication API

SAML 2.0 authentication request and response endpoints for initiating and completing SSO login flows.

OpenAPI Specification

sso-authentication-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: OpenID Connect (OIDC) SSO Authentication API
  description: The OpenID Connect (OIDC) API is a lightweight identity layer built on top of OAuth 2.0 that enables applications to verify user identity and obtain basic profile information. OIDC defines standard endpoints including the Authorization Endpoint, Token Endpoint, UserInfo Endpoint, and JWKS URI. It supports Authorization Code Flow, Implicit Flow, Hybrid Flow, and PKCE extensions for public clients. OIDC is widely implemented by identity providers including Okta, Microsoft Entra ID, Google, Auth0, and Keycloak.
  version: '1.0'
  contact:
    name: OpenID Foundation
    url: https://openid.net/connect/
  termsOfService: https://openid.net/connect/
servers:
- url: https://your-idp.example.com
  description: OpenID Provider (OP) Server
tags:
- name: Authentication
  description: SAML 2.0 authentication request and response endpoints for initiating and completing SSO login flows.
paths:
  /saml/sso:
    get:
      operationId: initiateSAMLLogin
      summary: Initiate SAML SSO Login
      description: Initiates a SAML 2.0 Single Sign-On login flow via HTTP Redirect Binding. The identity provider receives a SAMLRequest parameter containing a base64-encoded and deflated AuthnRequest XML document. On successful authentication, the IdP redirects back to the SP's Assertion Consumer Service (ACS) URL with a SAMLResponse.
      tags:
      - Authentication
      parameters:
      - name: SAMLRequest
        in: query
        required: true
        schema:
          type: string
        description: Base64-encoded and URL-encoded deflated AuthnRequest XML document
      - name: RelayState
        in: query
        schema:
          type: string
        description: An opaque value used to maintain state between the request and callback. The SP includes this value and the IdP passes it back unchanged.
      - name: SigAlg
        in: query
        schema:
          type: string
        description: The algorithm used to sign the request, required when using HTTP Redirect Binding with signatures.
        example: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
      - name: Signature
        in: query
        schema:
          type: string
        description: Base64-encoded signature of the request, required when using signed HTTP Redirect Binding.
      responses:
        '302':
          description: Redirect to service provider ACS with SAMLResponse
          headers:
            Location:
              schema:
                type: string
                format: uri
              description: Redirect URL containing SAMLResponse and RelayState parameters
        '400':
          description: Invalid SAMLRequest or missing required parameters
          content:
            text/html:
              schema:
                type: string
    post:
      operationId: receiveSAMLResponse
      summary: Receive SAML Assertion Consumer Service
      description: Assertion Consumer Service (ACS) endpoint for receiving SAML 2.0 responses from the identity provider via HTTP POST Binding. The SP receives a base64-encoded SAMLResponse containing a signed SAML assertion, validates the signature and assertion, and establishes a session for the authenticated user.
      tags:
      - Authentication
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - SAMLResponse
              properties:
                SAMLResponse:
                  type: string
                  description: Base64-encoded SAML Response XML document containing the authentication assertion signed by the IdP.
                RelayState:
                  type: string
                  description: Opaque value originally sent in the AuthnRequest and returned unchanged by the IdP.
      responses:
        '302':
          description: Successful authentication - redirect to target resource
          headers:
            Location:
              schema:
                type: string
                format: uri
              description: Redirect URL to the originally requested resource
            Set-Cookie:
              schema:
                type: string
              description: Session cookie for the authenticated user
        '401':
          description: Authentication failed - invalid or expired assertion
          content:
            text/html:
              schema:
                type: string
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 Bearer access token in Authorization header
externalDocs:
  description: OpenID Connect Specification
  url: https://openid.net/connect/