Issue with SSO SAML2 implementation with Apereo CAS from Sisense


I am facing an issue implementing an SP initiated workflow using Sisense as the SP and Apereo CAS version 5.1.2 as the Idp.

This is the SP metadata

<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2021-01-28T18:12:42Z" cacheDuration="PT604800S" entityID="https://sisense.domain.com/app/main#/home">   <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">    <md:KeyDescriptor use="signing">       <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">         <ds:X509Data>           <ds:X509Certificate>MIIDGT..</ds:X509Certificate>         </ds:X509Data>       </ds:KeyInfo>     </md:KeyDescriptor>     <md:KeyDescriptor use="encryption">       <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">         <ds:X509Data>           <ds:X509Certificate>MIIDG...</ds:X509Certificate>         </ds:X509Data>       </ds:KeyInfo>     </md:KeyDescriptor>     <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress</NameIDFormat>     <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://sisense.domain.com/api/v1/authentication/login_saml_callback/" index="1"/>   </md:SPSSODescriptor> </md:EntityDescriptor> 

On the SP side the following configurations are expected.

Remote Login URl – https://cas.com:8443/cas/idp/profile/SAML2/Redirect/SSO

Remote Logout Url – https://cas.com:8443/cas/logout

X509 certificate – certificate from the idp

On the Cas server I have configured the service definition for cas as json

  "@class" : "org.apereo.cas.support.saml.services.SamlRegisteredService",   "serviceId" : "https://sisense.domain.com/app/main#/home",   "name" : "SAMLService",   "id" : 10000012,   "evaluationOrder" : 10,   "metadataLocation" : "https://localhost:8443/cas/etc/cas/saml/sisense_metadata.xml",   "usernameAttributeProvider" :{     "@class" : "org.jasig.cas.services.PrincipalAttributeRegisteredServiceUsernameProvider",     "usernameAttribute" : "cn"   } } 

when the workflow is initiated calling this url https://sisense.domain.com/app/main#/home the SP redirects to the cas SSO endpoint with the following SAMLRequest

<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"                     ID="_6f357780b767b788a3c0"                     Version="2.0"                     IssueInstant="2020-04-28T10:48:35.405Z"                     ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"                     AssertionConsumerServiceURL="https://sisense.domain.com/api/v1/authentication/login_saml_callback/"                     Destination="https://cas.com:8443/cas/idp/profile/SAML2/Redirect/SSO"                     >     <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://sisense.domain.com/app/main#/home</saml:Issuer>     <samlp:NameIDPolicy xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"                         Format="urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress"                         AllowCreate="true"                         />     <samlp:RequestedAuthnContext xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"                                  Comparison="exact"                                  >         <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>     </samlp:RequestedAuthnContext> </samlp:AuthnRequest> 

I dont get the login screen for CAS , instead get 500 Internal Server error with error message Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.jasig.cas.client.util.CommonUtils.constructServiceUrl(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;

I am unable to proceed, any help is appreciated

Thanks