• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Mister PKI

SSL Certificates * SSL Tools * Certificate Decoder

  • PKI Training
  • OpenSSL
  • Keytool
  • PKI Tools
    • Apereo CAS
    • SAML
    • OpenID Connect
  • Get expert help

Multiple ACS urls

November 15, 2023 by Mister PKI Leave a Comment

In our experience, service providers (SP) generally use one ACS URL as opposed to multiple ACS URLs in their saml metadata. We should also note that for intents and purposes in this article when we refer to saml we are referring to SAML 2.0. This article will also shorten the term Assertion Consumer Service URL for ACS URL.

Even more specifically, this article is written for administrators of the Apereo CAS product that use raw xml files for metadata as opposed to a UI.

The ACS URL is an endpoint that the SP provides for the IDP (Identity Provider, in this case CAS) to redirect with the authentication response. For obvious reasons, this endpoint should be protected by HTTPS. To this endpoint the IDP will send a NameID and other assertions about the principal including attributes such as group membership, name, department, classes, email address, etc.

If you have been tasked with manually constructing an SPs metadata, a great tool to use for this is created by onelogin and located here.

https://www.samltool.com/sp_metadata.php

If you notice, the tool only allows for one ACS URL. So the question becomes, are multiple ACS URLs even supported? My SP says so, yet the most recent version (as of November 15, 2023) of the most popular saml builder tool does not support it.

The answer is that yes, SAML 2.0 does support multiple ACS URLs. For example, this SP metadata example contains multiple ACS URLs, differentiated by an index.

An optional flag to use is isDefault=”true”.

<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
        entityID="https://example.com/example/">
    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                Location="https://example.com/example/1"
                        index="1" isDefault="true" />
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                Location="https://example.com/example/2"
                        index="2" />
        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                Location="https://example.com/example/3"
                        index="3" />
    </md:SPSSODescriptor>
</md:EntityDescriptor>

Conclusion – Multiple ACS URLs

This article has demonstrated how to configure more than one ACS URL in your saml metadata. Let us know in the comments if you have any questions or would like to learn more about saml assertion consumer service URLs. See more of our articles on saml and CAS.

Apereo CAS,  saml

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Popular Posts

PKCS12

openssl s_client

Keytool

Keytool list

ECDSA vs RSA

OpenSSL

PKCS7

Certificate Decoder

PKI for DevOps Engineers – Free Training Series

PKI for DevOps Training Hub

Lesson 1 – How TLS and PKI Work

Lesson 2 – Understanding X.509 Certificates

Lesson 3 – Certificate Chains Explained

Lesson 4 – Debug TLS with OpenSSL

Lesson 5 – Verify Certificate Chains

Lesson 6 – Creating CSRs with OpenSSL

Lesson 7 – Working with PKCS12 Certificates

Lesson 8 – Java Keystores and keytool

Lesson 9 – Certificate Expiration Monitoring

Lesson 10 – Automating Certificate Renewal

Lesson 11 – Common TLS Errors

Lesson 12 – PKI Architecture for DevOps

Recent Posts

  • Apache mod_auth_cas: Protect Web Applications with Apereo CAS and Docker
  • Apache mod_auth_mellon: Configure SAML SSO & Docker
  • Configure OpenID Connect (OIDC) in Apereo CAS 7.3 and 8
  • Certificate Ownership Is an Operating Model Problem, Not a Tooling Problem
  • OpenSSL dgst: Create Checksums and Verify Digital Signatures

Footer

  • Twitter
  • YouTube
Mister PKI

Practical security engineering for the systems that establish trust.

Learn OpenSSL Keytool Free training
Work together PKI consulting CAS consulting Sponsored contributions
Site About Support Mister PKI Cookie policy Search
© 2026 Mister PKI Secure systems. Clear guidance.