Hmm, I don't think we're doing anything significantly different.
We also have the following in our build.gradle overlay file to enable SAML:
implementation "org.apereo.cas:cas-server-support-saml-idp"
I'm assuming that cas-server-support-saml-core
and cas-server-support-saml-core-api show up in the output of /info as a
result of that?
Our service registration looks like:
{
"@class" : "org.apereo.cas.support.saml.services.SamlRegisteredService",
"name" : "ITS_Shibboleth_SAML2_Proxy",
"serviceId" : "^https://idp-dev\\.its\\.hawaii\\.edu/shibboelth",
"description" : "ITS Shibboleth SAML2 Proxy",
"metadataLocation" : "
https://idp-dev.its.hawaii.edu/shibboleth_sp-metadata.xml",
"id" : 20260831140225,
"evaluationOrder" : 10000011,
"multifactorPolicy" : {
"@class" :
"org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy",
"multifactorAuthenticationProviders" : [ "java.util.LinkedHashSet", [
"mfa-duo" ] ],
"failureMode" : "OPEN"
},
"attributeReleasePolicy" : {
"@class" : "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
}
}
The problem is that for some reason CAS is apparently not recognizing the
service registration class "
org.apereo.cas.support.saml.services.SamlRegisteredService" → "no such
class found". So I think it's not even getting to the point of evaluating
the serviceId, metadata, or any of the other elements of the service
registration.
On Thu, Oct 15, 2026 at 7:33 AM 'Ray Bon' via CAS Community <
[email protected]> wrote:
> Baron,
>
> This is my simplified service for local testing.
> {
> "@class": "org.apereo.cas.support.saml.services.SamlRegisteredService",
> "serviceId": "https://idplocal.uvic.ca/idp/shibboleth
> <https://urldefense.com/v3/__https://idplocal.uvic.ca/idp/shibboleth__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bS6S1heU$>
> ",
> "name": "Shibboleth",
> "id": 10016,
> "description": "Shibboleth as SP",
> "evaluationOrder": 124,
> "attributeReleasePolicy": {
> "@class":
> "org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy",
> "allowedAttributes": ["java.util.ArrayList", ["uid"]]
> },
> "metadataLocation": "https://idplocal.uvic.ca/idp/shibboleth
> <https://urldefense.com/v3/__https://idplocal.uvic.ca/idp/shibboleth__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bS6S1heU$>
> ",
> "requireSignedRoot": "false",
> "encryptAssertions": "false"
> }
>
> Make sure the serviceId regex matches the entityID in the metadata. We use
> an exact match, i.e. different service definitions for each tier.
> I have the following in build.gradle
> org.apereo.cas:cas-server-support-saml-idp
>
> But I do not have '...core' nor '...core-api'.
>
> Ray
> ------------------------------
> *From:* [email protected] <[email protected]> on behalf of Baron
> Fujimoto <[email protected]>
> *Sent:* October 14, 2026 19:09
> *To:* CAS Community <[email protected]>
> *Subject:* [cas-user] SAML service registration error
>
> I am trying to configure our Shibboleth IdPas a proxy using Apereo CAS as
> an external authentication IdP using their native SAML features to replace
> the deprecated Unicon shib-cas-authn plugin that currently serves this role.
>
> I have used this reference as guide on the CAS side to enabled the CAS
> SAML support module:
> <
> https://apereo.github.io/cas/development/authentication/Configuring-SAML2-Authentication.html
> <https://urldefense.com/v3/__https://apereo.github.io/cas/development/authentication/Configuring-SAML2-Authentication.html__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bTRkgP8e$>
> >
>
> I believe it has been deployed successfully because I find the following
> in the output from /cas/actuator/info:
>
> {
> "name": "cas-server-support-saml",
> "version": "7.3.8.3",
> "description": "Apereo CAS SAML Server and Validation Support"
> },
> {
> "name": "cas-server-support-saml-core",
> "version": "7.3.8.3",
> "description": "Apereo CAS SAML Core/Common Functionality"
> },
> {
> "name": "cas-server-support-saml-core-api",
> "version": "7.3.8.3",
> "description": "Apereo CAS SAML Core Functionality"
> },
>
> I have created a service registration for our proxying Shibboleth IdP
> based off of this CAS reference:
> <
> https://apereo.github.io/cas/development/services/SAML2-Service-Management.html
> <https://urldefense.com/v3/__https://apereo.github.io/cas/development/services/SAML2-Service-Management.html__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bVb7Rsih$>
> >
>
> However, when I place the service registration in our usual directory for
> registered services, the following error is logged:
>
> ERROR [org.apereo.cas.util.serialization.BaseJacksonSerializer] - <Cannot
> read/parse
> [{"@class":"org.apereo.cas.support.saml.services.SamlRegisteredService","name":"ITS_Shibboleth_SAML2_Proxy","serviceId":"^h...]
> to deserialize into type [interface org.apereo.cas.
> services.RegisteredService]. This may be caused in the absence of a
> configuration/support module that knows how to interpret the fragment,
> specially if the fragment describes a CAS registered service definition.
> Internal parsing error is [Could not resolve type id 'org.apereo.cas.support
> .saml.services.SamlRegisteredService' as a subtype of
> `org.apereo.cas.services.RegisteredService`: no such class found
> at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION`
> disabled); line: 1, column: 11]]>
> DEBUG [org.apereo.cas.util.serialization.BaseJacksonSerializer] - <Could
> not resolve type id
> 'org.apereo.cas.support.saml.services.SamlRegisteredService' as a subtype
> of `org.apereo.cas.services.RegisteredService`: no such class found
> at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION`
> disabled); line: 1, column: 11]>
>
> I'm not sure why it's choking on the class "
> org.apereo.cas.support.saml.services.SamlRegisteredService" or how to
> best troubleshoot and resolve this. Any suggestions would be appreciated.
>
> --
> Baron Fujimoto <[email protected]> ::: UH Information Technology Services
> minutas cantorum, minutas balorum, minutas carboratum descendus pantorum
>
> --
> - Website: https://apereo.github.io/cas
> <https://urldefense.com/v3/__https://apereo.github.io/cas__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bQPeT_td$>
> - List Guidelines: https://goo.gl/1VRrw7
> <https://urldefense.com/v3/__https://goo.gl/1VRrw7__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bZdBkaSN$>
> - Contributions: https://goo.gl/mh7qDG
> <https://urldefense.com/v3/__https://goo.gl/mh7qDG__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bUSeHvm8$>
> ---
> You received this message because you are subscribed to the Google Groups
> "CAS Community" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAAjLUL2vUxgLZuNLwB9mxMR%2BqiBpnSXpx1ONAkiSKWC1kaB8cw%40mail.gmail.com
> <https://urldefense.com/v3/__https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAAjLUL2vUxgLZuNLwB9mxMR*2BqiBpnSXpx1ONAkiSKWC1kaB8cw*40mail.gmail.com?utm_medium=email&utm_source=footer__;JSU!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bRjYNqCY$>
> .
>
> --
> - Website: https://apereo.github.io/cas
> <https://urldefense.com/v3/__https://apereo.github.io/cas__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bQPeT_td$>
> - List Guidelines: https://goo.gl/1VRrw7
> <https://urldefense.com/v3/__https://goo.gl/1VRrw7__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bZdBkaSN$>
> - Contributions: https://goo.gl/mh7qDG
> <https://urldefense.com/v3/__https://goo.gl/mh7qDG__;!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bUSeHvm8$>
> ---
> You received this message because you are subscribed to the Google Groups
> "CAS Community" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/apereo.org/d/msgid/cas-user/YTZP288MB1046C93D47DAA84AC5D67770CE9C2%40YTZP288MB1046.CANP288.PROD.OUTLOOK.COM
> <https://urldefense.com/v3/__https://groups.google.com/a/apereo.org/d/msgid/cas-user/YTZP288MB1046C93D47DAA84AC5D67770CE9C2*40YTZP288MB1046.CANP288.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer__;JQ!!PvDODwlR4mBZyAb0!XaQniwk8GHqWXGoJQcxF0PiUM4yzZZ3lwRXv_9seJoRKZJht2uz194L0Hpc3UglqJYwiTJu9bURiGYPm$>
> .
>
--
- Website: https://apereo.github.io/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAAjLUL0FYNwjVvj6qPH0Wzb7aDMx2cbrqjR96BgSb%2ByBqS1G0g%40mail.gmail.com.