idp RemoteUser url-parameters jsession occasional-login-failures

Brent Putman putmanb at georgetown.edu
Sun Oct 9 13:28:39 EDT 2016



On 10/9/16 3:38 AM, Rainer Hoerbe wrote:
>
>
>   https://host[:port]/path[;parameters][?query_string]
>
> Those parameters were causing login failures.
> Just for the record: RFC 3986 says:
> "The query component is indicated by the first question mark ("?") character and terminated by a number sign ("#") character or by the end of the URI.“

Yes, it does say that in the first paragraph of section 3.4.  But
that's not relevant because...

>
> Therefore the key-value pair in "[;parameters]“ is illegal.
>
> Implementations might process the semicolon as starting the query string, because it is not a "unreserved character" that may appear in the path. However, clients issuing those URLs should be flagged as misbehaving.

No, I believe you misunderstanding Jim's point, and therefore you are
misreading the spec.  These parameters are not a part of the *query*,
they are (or can be) part of each individual *path segment*.

In RFC 3986, it actually discusses them specifically.  In the very last
paragraph of section 3.3 it states:

> Aside from dot-segments in hierarchical paths, a path segment is
>    considered opaque by the generic syntax.  URI producing applications
>    often use the reserved characters allowed in a segment to delimit
>    scheme-specific or dereference-handler-specific subcomponents.  For
>    example, the semicolon (";") and equals ("=") reserved characters are
>    often used to delimit parameters and parameter values applicable to
>    that segment.  The comma (",") reserved character is often used for
>    similar purposes.  For example, one URI producer might use a segment
>    such as "name;v=1.1" to indicate a reference to version 1.1 of
>    "name", whereas another might use a segment such as "name,1.1" to
>    indicate the same.  Parameter types may be defined by scheme-specific
>    semantics, but in most cases the syntax of a parameter is specific to
>    the implementation of the URI's dereferencing algorithm.


So the URL path can look like:  /foo;x=1/bar;y=2,z=3/baz;ver=1.1.

None of that has anything to do with the query part of the URL.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20161009/3952bfce/attachment.html>


More information about the users mailing list