idp RemoteUser url-parameters jsession occasional-login-failures
Jim Fox
fox at washington.edu
Fri Oct 7 13:37:26 EDT 2016
(Possibly everyone knew this but me.)
I thought an https URL was basically like:
https://host[:port]/path[?query_string]
but it's really like:
https://host[:port]/path[;parameters][?query_string]
Those parameters were causing login failures.
We front the IdP with Apache and are using the RemoteUser flow, which redirects to /idp/Authn/UWLogin for the authn.
We get occasional hits that look like:
GET /idp/profile/SAML2/POST/SSO;jsessionid=...
and that's OK, but some clients (I think it's the clients) gratuitously add that parameter to the next redirect, so it is:
GET /idp/Authn/UWLogin;jsessionid=...?conversation=e1s1
The problem is that Apache considers the parameter to be part of the path, so our
<Location /idp/Authn/UWLogin>
some config that's logs the user in
</Location>
does not trigger. Instead it goes directly to the next idp step -- without a remote_user set.
Fixing the authn to
<LocationMatch /idp/Authn/UWLogin($|;)>
some config that's logs the user in
</LocationMatch>
fixed the problem.
Jim
More information about the users
mailing list