It was previously providing just a relative path and if the paths
overlapped I guess the browser was trying to smash them together.
This would result in a double "gssapi" in the gssapi URL like:
https://my.ipsilon.org/idp/login/gssapi/gssapi/negotiate?ips...
Don't rely on the browser to get the path right, use self.basepath.
https://fedorahosted.org/ipsilon/ticket/153
Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com>
if other_login_stacks:
other_stacks = list()
for ls in other_login_stacks:
if other_login_stacks:
other_stacks = list()
for ls in other_login_stacks:
- url = '%s?%s' % (ls.path, self.trans.get_GET_arg())
+ url = '%s/login/%s?%s' % (
+ self.basepath, ls.path, self.trans.get_GET_arg()
+ )
name = ls.name
other_stacks.append({'url': url, 'name': name})
name = ls.name
other_stacks.append({'url': url, 'name': name})