Paul,

I got delegated SAML2 to Azure AD working for us. I had been hitting the 
same error message; after some manually-crafted XML trial-and-error, I 
found that I needed to set:

cas.authn.pac4j.saml[0].use-name-qualifier=false

Hopefully that helps!

On Wednesday, January 13, 2021 at 11:50:15 AM UTC-6 chauvetp wrote:

> Hi all,
>
> First - thanks to Ray for his response last week!
>
> I'm still hoping to get this working via SAML - but I don't know where 
> else to go here.  Has anyone gotten this working (delegated 
> authentication via SAML to Azure)?
>
> Alternatively - I'm trying to do this via OIDC as Ray indicated - but I'm 
> not sure what I should be using for the "Redirect URI" in Azure?  Should 
> that be just our CAS server URL (i.e. https://cas.domain.edu/cas/login)?
>
> Thanks all!
>
>
>
> Paul Chauvet, CISSP
>
> Information Security Officer
>
> State University of New York at New Paltz
>
> [email protected]
>
>
>
> ------------------------------
> *From:* [email protected] <[email protected]> on behalf of Ray Bon <
> [email protected]>
> *Sent:* Friday, January 8, 2021 12:38 PM
> *To:* [email protected] <[email protected]>
> *Subject:* Re: [cas-user] CAS (6.2.6) using delegated authentication to 
> Azure 
>  
> CAUTION: Message from a non-New Paltz email server. Treat message, links, 
> and attachments with extra caution.
>
> Paul,
>
> I, too, received that error message with SAML delegation. I did get OIDC 
> working.
>
> It looks like the only build requirement is:
>
>     implementation 
> "org.apereo.cas:cas-server-support-pac4j-webflow:${casServerVersion}"
>
> Ray
>
>
>
> On Fri, 2021-01-08 at 15:58 +0000, Paul Chauvet wrote:
>
> Notice: This message was sent from outside the University of Victoria 
> email system. Please be cautious with links and sensitive information. 
>
> Hi all,
>
> I'm trying to setup a new CAS 6.2.6 environment to eventually replace our 
> 5.3.x environment.  Unlike our current environment (where we do regular 
> LDAP authentication against on-prem Active Directory) - I wanted to setup 
> delegated authentication, pointed at Azure AD.
>
> I started by following the steps at the blog post below - but I feel like 
> I'm missing something as I can't get it working.
> https://apereo.github.io/cas/6.2.x/integration/Delegate-Authentication.html
>
> *(Apologies for the long email - wanted to make sure I have as much info 
> as possible on my environment and the errors).*
>
> My environment is RHEL 8 with OpenJDK 11 and Tomcat 9.0.41.
>
> What I've done:
>
>    - In Azure, I created an Enterprise Application within Azure, and 
>    within Single Sign-on chose SAML.
>    - For CAS - I've built via gradle via the cas-overlay-template.  
>    Beyond the default, I've included the following dependencies:
>    compile 
>    "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-support-pm-webflow:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-support-jmx:${project.'cas.version'}"
>    compile 
>    
> "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
>    compile 
>    
> "org.apereo.cas:cas-server-support-hazelcast-ticket-registry:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-support-pac4j-webflow:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-support-saml:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-support-generic:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-support-reports:${project.'cas.version'}"
>    compile 
>    
> "org.apereo.cas:cas-server-support-hazelcast-monitor:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-support-metrics:${project.'cas.version'}"
>    compile 
>    "org.apereo.cas:cas-server-core-monitor:${project.'cas.version'}"
>
>
>    - Within cas.properties I have:
>    cas.authn.pac4j.saml[0].keystorePassword=<REDACTED>
>    cas.authn.pac4j.saml[0].privateKeyPassword=<REDACTED>
>    cas.authn.pac4j.saml[0].keystorePath=/etc/cas/config/samlKeystore.jks
>    cas.authn.pac4j.saml[0].serviceProviderEntityId=
> *urn:mace:saml:pac4j.org <http://pac4j.org> (is this right?) *
>    
>    
> cas.authn.pac4j.saml[0].serviceProviderMetadataPath=/etc/cas/config/sp-metadata.xml
>    
>    cas.authn.pac4j.saml[0].identityProviderMetadataPath=
>    https://login.microsoftonline.com/
>    <REDACTED>/federationmetadata/2007-06/federationmetadata.xml?appid=
>    <REDACTED>
>    cas.authn.pac4j.saml[0].clientName=AzureADDev
>    
>    - And defined a single CAS service:
>    
>    {
>        "@class" : "org.apereo.cas.services.RegexRegisteredService",
>        "serviceId" : "
>    https://sts.windows.net/ebd45737-b352-4722-bb0c-9f539bcbfa65/";,
>        "name" : "AzureAD-Dev",
>        "id" : 1593461500,
>        "evaluationOrder" : 50,
>        "accessStrategy" : {
>          "@class" : 
>    "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy",
>          "delegatedAuthenticationPolicy" : {
>            "@class" : 
>    
> "org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy",
>            "allowedProviders" : [ "java.util.ArrayList", [ "AzureADDev" ] 
>    ]
>          }
>        }
>      }
>    
>    
>    
>    
> What happens is when I go to CAS and click on the external identity 
> provider, I get an error from Microsoft:
>
> Sorry, but we’re having trouble signing you in.
> AADSTS7500525: There was an XML error in the SAML message at line 2, 
> position 701. Verify that the XML content of the SAML messages conforms to 
> the SAML protocol specifications.
> Request Id: 70508434-e2f2-4e05-a2a5-2f10ddae9500
> Correlation Id: e6abfced-3724-44ce-b005-b7f18aa812cf
> Timestamp: 2020-07-07T16:21:31Z
> Message: AADSTS7500525: There was an XML error in the SAML message at line 
> 2, position 701. Verify that the XML content of the SAML messages conforms 
> to the SAML protocol specifications.
>
> If I try to go there from the Azure side (by choosing the CAS app in 
> Azure), CAS says the application isn't authorized and shows the following 
> in the CAS logs:
>
> 2021-01-08 10:54:10,298 ERROR 
> [org.apereo.cas.web.DelegatedClientWebflowManager] - <Delegated client 
> identifier cannot be located in the authentication request [
> https://login6deva.newpaltz.edu/cas/login?client_name=AzureADDev]> 
> 2021-01-08 10:54:10,298 ERROR 
> [org.apereo.cas.web.flow.DelegatedClientAuthenticationAction] - <>
> 2021-01-08 10:54:10,298 WARN 
> [org.apereo.cas.web.flow.DelegatedClientAuthenticationAction] - <>
> org.apereo.cas.services.UnauthorizedServiceException: 
> at 
> org.apereo.cas.web.flow.DelegatedClientAuthenticationAction.restoreAuthenticationRequestInContext(DelegatedClientAuthenticationAction.java:322)
>  
> ~[cas-server-support-pac4j-webflow-6.2.6.jar:6.2.6]
> at 
> org.apereo.cas.web.flow.DelegatedClientAuthenticationAction.populateContextWithService(DelegatedClientAuthenticationAction.java:211)
>  
> ~[cas-server-support-pac4j-webflow-6.2.6.jar:6.2.6]
> at 
> org.apereo.cas.web.flow.DelegatedClientAuthenticationAction.doExecute(DelegatedClientAuthenticationAction.java:125)
>  
> ~[cas-server-support-pac4j-webflow-6.2.6.jar:6.2.6]
> at 
> org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
>  
> ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE]
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:?]
> at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  
> ~[?:?]
> at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  
> ~[?:?]
> at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
> at 
> org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282)
>  
> ~[spring-core-5.2.6.RELEASE.jar:5.2.6.RELEASE]
> at 
> org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499)
>  
> ~[spring-cloud-context-2.2.2.RELEASE.jar:2.2.2.RELEASE]
>
> ....
>
> *(this continues for a long while - can provide the full stack trace if 
> needed)*
>
>
> My apologies if I'm missing something obvious here - but I'd appreciate 
> any ideas you may have.
>
> P.S.  I tried this again back in the Fall on CAS 6.1.6 but had the same 
> issues (then pulled into a bunch of other unrelated projects so I'm only 
> getting back to this months later).
>
> Thanks!
>
>
> Paul Chauvet
>
> -- 
>
> Ray Bon
> Programmer Analyst
> Development Services, University Systems
> 2507218831 <(250)%20721-8831> | CLE 019 | [email protected]
>
> I respectfully acknowledge that my place of work is located within the 
> ancestral, traditional and unceded territory of the Songhees, Esquimalt and 
> WSÁNEĆ Nations.
>
> -- 
> - 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/2e3d978680da13451fa51cb6a5b365fbdbd48dad.camel%40uvic.ca
>  
> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/2e3d978680da13451fa51cb6a5b365fbdbd48dad.camel%40uvic.ca?utm_medium=email&utm_source=footer>
> .
>

-- 
- 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/339ae524-5198-4ae9-8195-1d3c23b15df2n%40apereo.org.

Reply via email to