Case sensitivity of URL scheme in IdPv3 (Ellucian WebAdvisor)
Brent Putman
putmanb at georgetown.edu
Thu Dec 17 16:48:16 EST 2015
On 12/17/15 3:35 PM, Rich Graves wrote:
> If I use upper case HTTPS://, the IdP chokes here:
>
> 2015-12-17 13:45:29,280 - DEBUG [net.shibboleth.idp.saml.profile.impl.PopulateBindingAndEndpointContexts:411] - Profile Action PopulateBindingAndEndpointContexts: Resolved endpoint at location HTTPS://hub-dev.its.carleton.edu:443/WebAdvisor/WebAdvisor using binding urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
> org.opensaml.messaging.handler.MessageHandlerException: Relying party endpoint used the untrusted URL scheme HTTPS
Yeah, this is arguably a bug. We should probably be performing the
scheme eval in a case-insensitive manner. Please open a bug against
OpenSAML 3 for that (OSJ).
> (How) can I define "HTTPS" as a trusted URL scheme? Other approaches?
The trusted schemes are actually configurable, although in looking at it
now, it's not terribly convenient vis-a-vis Spring. I.e. there's not a
simple bean on which one can just set properties. Need to invoke a
static method on a class.
As a workaround for now, try adding something like this to your
conf/global.xml. Essentially it's just adding in "HTTPS" to the
otherwise defaults of "http" and "https".
<bean
class="org.springframework.beans.factory.config.MethodInvokingBean"
depends-on="shibboleth.OpenSAMLConfig">
<property name="targetClass"
value="org.opensaml.saml.config.SAMLConfigurationSupport"/>
<property name="targetMethod" value="setAllowedBindingURLSchemes"/>
<property name="arguments">
<list>
<util:list>
<value>http</value>
<value>https</value>
<value>HTTPS</value>
</util:list>
</list>
</property>
</bean>
I'm not 100% sure about the 'arguments' property value, and can't easily
test at the moment. If someone else happens to know or see a mistake
please speak up. The MethodInvokingFactoryBean setArguments takes an
Object[]. The actual invoked OpenSAML method needs to take a
List<String>. So I think something like specifying a <list> value for
the former with a single <util:list> bean member value should work. But
may need a little tweaking.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20151217/aa613bb4/attachment-0001.html>
More information about the users
mailing list