EDS + request parameters = fatal.noReturnURL

Rod Widdowson rdw at steadingsoftware.com
Fri Mar 1 06:11:57 EST 2013


I'm pretty sure that this is because the EDS is precisely that - a Discovery
Service.  As such it expects to be called with DS parameters.

In your usual mode of operation you are starting at that page and collecting
the defaults from the config.  However the EDS still believes in its heart
that it is an EDS and  not the start of a flow. So if you specify any
parameters it will look at them for EDS params and if it doesn't find any
will complain.

I assume you are running from the non-minimized sources (available in the
most recent kit IIRC).  You might want to prove this by changing this line
of idpselect.js (at about line 191)

From:

>         if (null == parmlist || 0 == parmlist.length || parmlist.charAt(0)
!= '?') {

To:

>        if (true || null == parmlist || 0 == parmlist.length ||
parmlist.charAt(0) != '?') {

Then you will always fall in to the "look at the defaults" line.

And yes I would be willing to get an RFI, but I am not yet certain the
correct way of dealing with this (so suggests for that would be welcome).  I
think that we need to populate from the parameter list if present, and then
fill in the rest from the defaults, but I'd like to convince myself that
there are no unintended consequences..


/R


> -----Original Message-----
> From: dev-bounces at shibboleth.net [mailto:dev-bounces at shibboleth.net]
> On Behalf Of Peter Schober
> Sent: 01 March 2013 10:41
> To: dev at shibboleth.net
> Subject: EDS + request parameters = fatal.noReturnURL
> 
> (Sorry, seems it's my Struggle With EDS day.)
> 
> When integrating the EDS into a website (I could even reproduce it
> with static HTML, like in the public example provided below) where
> it's displayed on the front page of the app (not approached via DS
> protocol) everything works fine -- except when
> accessing the URL with (any) request/query parameters:
> 
> Works fine:
> https://saml-test.aco.net/
> 
> Causes the fatal.noReturnURL error with the pop-up
> "FATAL - DISCO UI:No URL return parameter provided":
> https://saml-test.aco.net/?foo
> https://saml-test.aco.net/?what=ever&foo=bar
> Consequently the EDS fails to render.
> (When it fails I notice there's no request to the server for
> /Shibboleth.sso/DiscoFeed after the initial GET, as compared to the
> working case.)
> 
> Relevant (I think) EDS config:
> this.defaultReturn = "https://saml-
> test.aco.net/Shibboleth.sso/Login?SAMLDS=1&target=https%3A%2F%2Fsam
> l-test.aco.net%2Fsecure%2F";
> this.defaultReturnIDParam = null;
> this.myEntityID = null;
> 
> The error does not change or go away when I set
> this.defaultReturnIDParam = 'entityID';
> (which should be ok as per my reading of
> http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-idp-
> discovery.html )
> 
> Any suggestions?
> -peter
> --
> To unsubscribe from this list send an email to dev-
> unsubscribe at shibboleth.net



More information about the dev mailing list