Set Up SAML 2.0
Connect any SAML 2.0 identity provider to Haystack Enterprise Platform so your team signs in with their corporate credentials.
About This Task
Use this guide for any SAML provider that doesn't have a dedicated template. For Microsoft Entra ID, use Set Up Microsoft Entra ID with SAML instead.
Prerequisites
- Before you start, review the requirements and preconditions in Enable Single Sign-On (SSO).
- Make sure your provider meets the following requirements:
- Signing the assertion. Haystack Platform verifies the signature on the SAML assertion. Providers configured to sign only the response envelope, leaving the assertion unsigned, are not supported.
- Sending the email address. Haystack Platform reads the user's email from the first of these attributes that has a value, matched by exact name:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressurn:oid:0.9.2342.19200300.100.1.3emailaddressemail
Set Up the Connection
- In Haystack Enterprise Platform, go to Settings > Organization > SSO and click Add SSO connection.
- Select Generic SAML.
- Type a display name for the connection, for example
SAML 2.0. The display name must be unique in your organization. - Enter your provider's SAML endpoint that receives the authentication request in the Sign-in URL field.
- Optional: Enter your provider's logout endpoint in the Sign-out URL field. Leave it empty to reuse the sign-in URL.
- Enter the identifier Haystack Platform presents to your provider in the IdP issuer / entity ID field. Whatever you enter here is what your provider must expect as the application identifier. Most providers need a URI.
- Paste your IdP signing certificate into the IdP signing certificate field, or upload it as a
.pem,.crt,.cer, or.txtfile. This is the PEM-encoded X.509 certificate your provider signs assertions with. - Optional: Expand Advanced options and configure:
- SAML binding: Choose how the authentication request is sent: HTTP-Redirect, HTTP-POST, or HTTP-POST (auto-submit). Defaults to HTTP-POST.
- Sign AuthnRequests: Choose whether the authentication request is signed. Off by default. Most providers don't need it.
The identifier has two possible sources, and only one of them wins. If you fill in IdP issuer / entity ID, that value is what Haystack Platform sends to your provider, and the Entity ID shown on the connection details no longer applies. Configure your provider with the issuer value instead. If you leave the issuer field empty, use the displayed Entity ID. Pick one and use the identical string on both sides.
Once you've filled in the provider-specific fields, finish and test the connection:
- Add your corporate domains to the Email domains field. At least one domain is required.
- Click the toggle to enable the connection.
- Click Test connection to check that your provider's endpoint exists and responds. A successful connection means the address is reachable, not that sign-in works. It doesn't verify credentials, certificates, or claim mappings.
- Click Save.
- Copy the ACS URL from the success screen. This is the value your provider needs as the Reply URL or Assertion Consumer Service URL.
- Copy the Entity ID from the success screen. Your provider needs this as the Identifier or Entity ID, but only if you left the issuer field empty. It doubles as the metadata address, so providers that support metadata import can fetch it directly.
- Copy the Single logout URL from the success screen. Your provider needs this as the Logout URL.
- At your provider, configure the application with the values you copied:
- Reply URL or Assertion Consumer Service URL: the ACS URL
- Identifier or Entity ID: the Entity ID, only if you left the issuer field empty
- Logout URL: the Single logout URL
- Sign in as a pilot user to test the connection.
Verify the Connection
To confirm your SSO connection works end to end, check the following:
- You have invited the pilot user to Haystack Enterprise Platform, and their email matches what your provider sends.
- The pilot user is assigned to the application in your provider.
- When you open Haystack Enterprise Platform in a private browsing window and enter the pilot user's email address, you're redirected to your provider, and after authenticating, you land back in Haystack Enterprise Platform, signed in.
- You repeated the process with a different browser to confirm.
What To Do Next
Was this page helpful?