Scott,

To me, it sounds like the 
*org.apereo.cas.support.saml.services.SamlRegisteredService 
*class is not defined. If you're using the Maven or Gradle overlay 
template, did you include the  dependency for cas-server-support-saml-idp?
Here is the CAS documentation for more info on 5.1.x saml 2 protocol: 
https://apereo.github.io/cas/5.1.x/installation/Configuring-SAML2-Authentication.html#configuration

Hope this helps!

On Wednesday, August 12, 2020 at 8:50:53 AM UTC-4 Scott G wrote:

> Hi all,
>
> I'm seeking help with an existing CAS 5.1.5 instance SAML1.1 setup with 
> David Curry's outstanding CAS setup guide. It's been working just fine for 
> our basic needs with our LDAP using SAML 1.1.
>
> We recently took on a COVID-related project that requires use of a 
> third-party SAML2 SSO authentication method, which CAS 5.1.5 appears to 
> support (I think). 
>
> We've submitted the IdP 509x signing cert (from certs auto-generated in 
> /etc/cas/saml) to the vendor who in turn generated our sign on information 
> for their auth0 mechanism and we generated the json service entry for our 
> CAS instance:
>
> file: /etc/cas/services/vendor-
> *1597152880.json [redacted vendor and ourconnectionname] *
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *{     "@class": 
> "org.apereo.cas.support.saml.services.SamlRegisteredService",     
> "serviceId": "urn:auth0:vendor:ourconnectionname",     "name": "Vendor", 
>     "id": 1597152880,     "metadataLocation": 
> "https://vendor.us.auth0.com/samlp/metadata?connection=ourconnectionname"; 
> <https://vendor.us.auth0.com/samlp/metadata?connection=ourconnectionname>, 
>     "signingSignatureAlgorithms": [         "java.util.ArrayList",         
> [             "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"; 
> <http://www.w3.org/2001/04/xmldsig-more#rsa-sha256>         ]     ],     
> "signingSignatureReferenceDigestMethods": [         "java.util.ArrayList", 
>         [             "http://www.w3.org/2001/04/xmlenc#sha256"; 
> <http://www.w3.org/2001/04/xmlenc#sha256>         ]     ],     
> "attributeReleasePolicy": {         "@class": 
> "org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy", 
> "allowedAttributes": [             "java.util.ArrayList",             [     
>                     "UDC_IDENTIFIER",                 /* some other 
> attributes here*/                ]         ]     } } *
>
>
> Here's /etc/cas/config/cas.properties [edited/redacted]
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *cas.server.name <http://cas.server.name>: https://hostname:8443 
> <https://hostname:8443> cas.server.prefix: ${cas.server.name 
> <http://cas.server.name>}:8443/cas 
> cas.adminPagesSecurity.actuatorEndpointsEnabled:        true 
> cas.monitor.endpoints.enabled:          true 
> endpoints.enabled:                      true 
> cas.monitor.endpoints.sensitive:        false 
> endpoints.sensitive:                    false 
> cas.adminPagesSecurity.loginUrl:        ${cas.server.prefix}/login 
> cas.adminPagesSecurity.service:         
> ${cas.server.prefix}/status/dashboard 
> cas.adminPagesSecurity.users:           
> file:/etc/cas/config/admusers.properties 
> cas.adminPagesSecurity.adminRoles[0]:   ROLE_ADMIN **logging.config: 
> file:/etc/cas/config/log4j2.xml*
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> * #location of service registry files cas.serviceRegistry.config.location: 
> file:/etc/cas/services cas.tgc.secure:                       true 
> cas.tgc.crypto.signing.key:   [redacted] cas.tgc.crypto.encryption.key:    
> [redacted] cas.webflow.crypto.signing.key:    [redacted] 
> cas.webflow.crypto.encryption.key:    [redacted] cas.authn.accept.users: 
> cas.authn.ldap[0].name:                 LDAP 
> cas.authn.ldap[0].type=AUTHENTICATED #rest of  LDAP config omitted but it 
> works cas.authn.samlIdp.entityId=https://hostname.simons-rock.edu/idp 
> <https://hostname.simons-rock.edu/idp> 
> cas.authn.samlIdp.scope=simons-rock.edu <http://simons-rock.edu> 
> cas.samlidp.metadata.location=file:/etc/cas/saml 
> cas.samlidp.hostname=hostname.simons-rock.edu 
> <http://hostname.simons-rock.edu> cas.samlidp.scope=simons-rock.edu 
> <http://simons-rock.edu> 
> cas.samlidp.entityid=https://hostname.simons-rock.edu/idp 
> <https://hostname.simons-rock.edu/idp> cas.samlidp.response.skewAllowance=0 
> cas.samlidp.metadata.cache.exp.minutes=30 
> cas.samlidp.metadata.failfast.init=true 
> cas.samlidp.metadata.require.valid=true 
> cas.authn.ldap[0].principalAttributeId=uid 
> cas.logout.followServiceRedirects=true *
>
>
>
> The parsing error is as follows:
>
> *2020-08-12 08:26:16,658 ERROR 
> [org.apereo.cas.util.serialization.AbstractJacksonBackedStringSerializer] - 
> <Cannot read/parse JSON [{"*
> *@class":"org.apereo.cas.support.saml.services.SamlRegisteredService","serviceId":"urn:auth0:cov...]
>  
> to deserialize into type [interfa*
> *ce org.apereo.cas.services.RegisteredService]. This may be caused in the 
> absence of a configuration/support module that knows how to *
> *interpret the JSON fragment, specially if the fragment describes a CAS 
> registered service definition. Internal parsing error is [Coul*
> *d not resolve type id 
> 'org.apereo.cas.support.saml.services.SamlRegisteredService' into a subtype 
> of [simple type, class org.apereo.c*
> *as.services.RegisteredService]: no such class found*
> * at [Source: 
> {"@class":"org.apereo.cas.support.saml.services.SamlRegisteredService","serviceId":"urn:auth0:vendor:connectionname","name":"CoVerified","id":1597152880,"metadataLocation":"https://vendor.us.auth0.com/samlp/metadata?connection=connectionname
>  
> <https://vendor.us.auth0.com/samlp/metadata?connection=connectionname>*
> *imonrock","signingSignatureAlgorithms":["java.util.ArrayList",["http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
>  
> <http://www.w3.org/2001/04/xmldsig-more#rsa-sha256>]],"signingSignatur*
> *eReferenceDigestMethods":["java.util.ArrayList",["http://www.w3.org/2001/04/xmlenc#sha256";
>  
> <http://www.w3.org/2001/04/xmlenc#sha256>]],"attributeReleasePolicy":{"@class":"org.*
> *apereo.cas.services.ReturnAllowedAttributeReleasePolicy","allowedAttributes":["java.util.ArrayList",["UDC_IDENTIFIER"]]}};
>  
> line: 1, c*
> *olumn: 11]]>*
> *2020-08-12 08:26:16,658 ERROR 
> [org.apereo.cas.services.AbstractResourceBasedServiceRegistryDao] - <Could 
> not load service definition *
> *from file [/etc/cas/services/vendor-1597152880.json]>*
>
> I'm not sure if I have this setup properly or if using this somewhat older 
> version of CAS part issue? 
>
> Any advise you have to offer would be greatly appreciated. 
>
> Thanks in advance,
>
> Scott
>
> -- 
> Scott Gennari
> System Administrator
> Information Technology Services
> Bard College at Simon's Rock
>
>

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/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 on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/de9358ed-38ee-4cd8-ad85-2fcd062c401dn%40apereo.org.

Reply via email to