From 3bfb2f12495ea618e4e4f7a0c11c6e6ca5e45bfa Mon Sep 17 00:00:00 2001 From: Johnny Seay Date: Thu, 27 Aug 2020 08:04:47 -0500 Subject: [PATCH] Fix get_proxy_url adding unnecessary leading '/' --- cas.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cas.py b/cas.py index 93e5b1c..9d0d775 100644 --- a/cas.py +++ b/cas.py @@ -104,7 +104,7 @@ def get_login_url(self): params.update(self.extra_login_params) url = urllib_parse.urljoin(self.server_url, 'login') query = urllib_parse.urlencode(params) - return url + '?' + query + return ''.join([url, '?', query]) def get_logout_url(self, redirect_url=None): """Generates CAS logout URL @@ -115,7 +115,8 @@ def get_logout_url(self, redirect_url=None): url = urllib_parse.urljoin(self.server_url, 'logout') if redirect_url: params = {self.logout_redirect_param_name: redirect_url} - url += '?' + urllib_parse.urlencode(params) + query = urllib_parse.urlencode(params) + return ''.join([url, '?', query]) return url def get_proxy_url(self, pgt): @@ -124,8 +125,10 @@ def get_proxy_url(self, pgt): Returns: str: Proxy URL """ - params = urllib_parse.urlencode({'pgt': pgt, 'targetService': self.service_url}) - return "%s/proxy?%s" % (self.server_url, params) + params = {'pgt': pgt, 'targetService': self.service_url} + url = urllib_parse.urljoin(self.server_url, 'proxy') + query = urllib_parse.urlencode(params) + return ''.join([url, '?', query]) def get_proxy_ticket(self, pgt): """Get proxy ticket given the proxy granting ticket