# Configure SAML 2.0 Single Sign-on with Kong Enterprise
Steve Young
What is SAML?
Security Assertion Markup Language (SAML) is an XML-based open standard that allows organizations to set up single sign-on (SSO) across multiple websites and applications. SAML 2.0 is the latest standard, and was ratified in March 2005, replacing SAML 1.1. We’ll refer to SAML as meaning SAML 2.0 for the remainder of this document.
SAML is mostly used as a web-based authentication mechanism as it relies on using the browser to broker the authentication flow. The SAML specification defines three roles:
A Principal (or End User)
Almost always a human user who is attempting to access a resource using a Browser
An Identity Provider (IdP)
A service that performs the authentication, by checking usernames and passwords, verifying account status, invoking multi-factor authentication (MFA), etc.
A Service Provider (SP)
Provides services to the end user. Relies of the IdP to assert the identity of a user
SP-initiated SSO with SAML Authentication
The Kong Enterprise SAML implementation supports the SP initiated SSO flow. This flow starts when a user tries to access a resource on the SP. If the SP detects the user doesn’t have a browser session active, it will redirect them to the IdP asking for the authentication request. The IdP will authenticate the user, and if successful, create the SAML assertion and redirect the user back to the SP.
XML messages are not exchanged directly between the IdP and SP, but via the Browser. This is described in the following sequence diagram:
Kong Enterprise initiates SSO when a user tries to access a protected Upstream Service
Kong Enterprise detects if the user has an active browser session. If no session exists, Kong Enterprise creates an SAML Request, also known as an authentication request. The request can be digitally signed
The User’s Browser relays the SAML authentication request to the IdP
A SAML Response is generated by the IdP. This response contains the assertion of the authenticated user. This response is digitally signed and optionally encrypted.
The SAML Assertion is relayed to Kong Enterprise
Kong Enterprise verifies the SAML Response, and either accepts or rejects the initial request to access the Upstream Service
Advantages of SAML
SAML 2.0 is widely adopted by enterprises, for several reasons:
Improves the user experience, because SAML provides the ability for users to securely access multiple applications with a single set of credentials entered once
Reduces the risk of weak passwords because users only have one password for all systems
Moves the responsibility for authentication & management to the IdP, which has the ability to invest in multiple layers of security such as multi-factor authentication (MFA), session management, & user sign-on/off processes (e.g. when an employee leaves a company)
Reduces IT help desk costs, because users have less access issues and need less help resetting passwords
The minimum configuration for the Kong SAML plugin is detailed below:
An IdP certificate
The SP needs to obtain the public certificate from the IdP to validate the signature in a SAML response. The certificate is stored on the SP and is to verify that a response is coming from the IdP
ACS Endpoint
This is the endpoint provided by the SP where SAML responses are sent. The SP needs to provide this information to the IdP
IdP Sign-in URL
This is the IdP Sign-in endpoint where the Kong SAML plugin will issue authentication requests. The SP needs to obtain this information from the IdP
From the Manage section of the Enterprise application in AzureAD, select “Single sign-on” and note the Identifier (Entity ID) and Login URL parameters
In the “Basic SAML Configuration” tab displayed above, configure the “Reply URL (Assertion Consumer Service URL)”, for example, https://<your Kong Enterprise IP address here>:8443/aad/consume
From the Manage section of Azure AD Enterprise application, select “Users and groups”, and assign users who will be able to login via SAML SSO
Create an Anonymous Kong Consumer
This permits anonymous Kong Consumer access via SAML Authentication to the Service we will configure in the next step. The anonymous consumer is configured in the SAML plugin
curl --request PUT \ --url http://localhost:8001/consumers/anonymous
Finally, using a Browser, go to the proxy url exposed by Kong Enterprise “https://:8443/aad”. Since the user is not authenticated, they will be redirected for authentication to Azure AD
Once successfully logged in, Kong Enterprise will allow access to the configured Service.
Conclusion
SAML is a complex XML-based protocol, and in modern terms it is considered legacy compared to the more modern OAuth 2.0 and OpenID Connect protocols. That said, SAML isn’t going away anytime soon; SAML is a widely adopted enterprise solution. For that reason Kong have invested in developing the SAML plugin, and will expand functionality and support for other SAML IdPs in the future.
Imagine you have a single Service, order-api . You want to apply a strict rate limit to most traffic, but you want to bypass that limit—or apply a different one—if the request contains a specific X-App-Priority: High header. Previously, you had t
How OAuth 2.0 Token Exchange Reshapes Trust Between Services — and Why the API Gateway Is Exactly the Right Place to Enforce It
Modern applications don’t run as a single monolithic. They are composed of services — frontend APIs, backend microservi
How Kong Gateway 3.14 closes the consistency gap in IAM-based authentication across AWS, Azure and GCP — and what it means for your production deployments
Starting with 3.13 (which addressed Redis support) and completed in 3.14, Kong now presents
Managing gateway configurations at scale is harder than it looks. When a plugin needs to apply to most routes, but not all, teams could either duplicate configuration across routes and violate DRY (“Don’t Repeat Yourself”) principles, or write custo
So, what exactly is Kong Insomnia? Kong Insomnia is your all-in-one platform for designing, testing, debugging, and shipping APIs at speed. Built for developers who need power without bloat, Insomnia helps you move fast whether you’re working solo,
Background In a previous blog post , we discussed the prevalence of bearer tokens (or access tokens) to restrict access to protected resources, the challenges the sheer nature of bearer tokens present, and available mitigations. To recap, presentin
Distributed architectures have become an integral part of modern digital landscape. With the proliferation of cloud computing, big data, and highly available systems, traditional monolithic architectures have given way to more distributed, scalable,