I am having the exact same problem and have opened a ticket with our 
support vendor. I will let you know if it yields any results. -Jason

On Thursday, September 12, 2019 at 10:14:42 AM UTC-7, Sean Gottschalk wrote:
>
> Hello,
>
> I'm using CAS 6.0.4 and I'm trying to do a SAML SP integration with AWS 
> but it seems that having an attribute with name "
> https://aws.amazon.com/SAML/Attributes/SessionDuration"; causes CAS to 
> fail when redirecting to itself after the initial authentication.
>
> I've been digging into how CAS builds the SAML response and it appears 
> that the issue is related to the DefaultCasProtocolAttributeEncoder 
> <https://github.com/apereo/cas/blob/9da2aceba83bfbef57f7a856efa8656d7013a028/core/cas-server-core-services-authentication/src/main/java/org/apereo/cas/authentication/support/DefaultCasProtocolAttributeEncoder.java#L103>
>  
> and how it hex encodes attribute names that contain the ":" or "@" 
> character. When it encodes "
> https://aws.amazon.com/SAML/Attributes/SessionDuration"; the resulting 
> value is 
> "68747470733a2f2f6177732e616d617a6f6e2e636f6d2f53414d4c2f417474726962757465732f53657373696f6e4475726174696f6e",
>  
> so the resulting casServiceValidationSuccess response is as follows:
>
>
> <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
>     <cas:authenticationSuccess>
>         <cas:user>T9HpcKRRSSigqWVCNdViTqijyvQ=</cas:user>
>         <cas:attributes>
>             
> <cas:68747470733a2f2f6177732e616d617a6f6e2e636f6d2f53414d4c2f417474726962757465732f53657373696f6e4475726174696f6e>43200</cas:68747470733a2f2f6177732e616d617a6f6e2e636f6d2f53414d4c2f417474726962757465732f53657373696f6e4475726174696f6e>
>             </cas:attributes>
>     </cas:authenticationSuccess>
> </cas:serviceResponse>
>
> However, 
> cas:68747470733a2f2f6177732e616d617a6f6e2e636f6d2f53414d4c2f417474726962757465732f53657373696f6e4475726174696f6e
>  
> is not valid xml as the namespace string can only start with a letter or 
> '_'. This causes Cas20ServiceTicketValidator.extractCustomAttributes(xml) 
> to fail when it delegates to the cas-client's 
> XmlUtils.getTextForElement(response, 
> "authenticationFailure") 
> <https://github.com/apereo/java-cas-client/blob/master/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java#L165>
> .
>
> I'm not sure how to fix this issue as it seems like the encoding and 
> decoding of attribute names are quite decoupled. Is there something that 
> I'm missing with my configuration?
>

-- 
- 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/8c54f34a-becf-4689-b61f-11db87c32f6a%40apereo.org.

Reply via email to