Multiple Assertion Consumer Service (ACS) config file


I’m working with examples from HighLevelAPI and it is working perfectly.
But now, I would like to work with more than one Assertion Consumer Service (ACS).

I checked the documentation and I found this overload:

SAMLServiceProvider.InitiateSSO(response, relayState, null, null, assertionConsumerServiceUrl, null);

I can set the assertionConsumerServiceUrl without a problem.

But I would like to set multiple ACS in the config file and just set the index, something like this:

<ServiceProvider Name=“<a href=“””>"
Description=“Service Provider”
<AssertionConsumerService Binding=“urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST” Location=“<a href=“https://localhost/Saml2/Acs””>https://localhost/Saml2/Acs" index=“0” isDefault=“true” />
<AssertionConsumerService Binding=“urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST” Location=“<a href=“https://localhost/Saml2/Acs2"”>https://localhost/Saml2/Acs2” index=“1” />

<PartnerIdentityProvider Name=“<a href=“””>"
SingleSignOnServiceUrl=“<a href=“””>"

Can I do it with HighLevel API?

Many thanks

Currently we don’t support multiple assertion consumer service URLs in the SAML configuration.
You would need to use the overload you mentioned to specify different URLs.
May I ask why you wish to do this?
Most use cases involve a single URL.
The overload that take a URL was introduced for use cases where the URL was dynamic (eg included a query string value etc).


Thanks for the fast reply.

I wish to do this because I need to send my config file with multiple ACS endpoints to my clients.
Each client has a different kind of IDP.

Your saml.config file should be internal to you. It’s not something you would distribute.
As a service provider, it’s perfectly valid and quite normal to have a single assertion consumer service URL supporting multiple partner identity providers.
You don’t need a separate assertion consumer service for each identity provider.

Thank you very much.

You’re welcome.