From 5ea128eca075c19880419c072be36fd761aad4a4 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Fri, 10 Oct 2014 20:11:59 +0200 Subject: [PATCH] Show login target on the login screen Signed-off-by: Patrick Uiterwijk Reviewed-by: Simo Sorce --- ipsilon/login/common.py | 3 +++ ipsilon/providers/openid/auth.py | 3 ++- ipsilon/providers/saml2/auth.py | 3 ++- templates/login/form.html | 6 ++++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ipsilon/login/common.py b/ipsilon/login/common.py index 6231997..94284b0 100755 --- a/ipsilon/login/common.py +++ b/ipsilon/login/common.py @@ -210,8 +210,10 @@ class LoginFormBase(LoginPageBase): if username is None: username = '' + target = None if self.trans is not None: tid = self.trans.transaction_id + target = self.trans.retrieve().get('login_target') if tid is None: tid = '' @@ -224,6 +226,7 @@ class LoginFormBase(LoginPageBase): "description": self.lm.help_text, "next_url": next_url, "username": username, + "login_target": target, } context.update(kwargs) if self.trans is not None: diff --git a/ipsilon/providers/openid/auth.py b/ipsilon/providers/openid/auth.py index 868daf1..da110f7 100755 --- a/ipsilon/providers/openid/auth.py +++ b/ipsilon/providers/openid/auth.py @@ -90,7 +90,8 @@ class AuthenticateRequest(ProviderPageBase): self.basepath, self.trans.get_GET_arg()) data = {'openid_stage': 'auth', 'openid_request': json.dumps(kwargs), - 'login_return': returl} + 'login_return': returl, + 'login_target': request.trust_root} self.trans.store(data) redirect = '%s/login?%s' % (self.basepath, self.trans.get_GET_arg()) diff --git a/ipsilon/providers/saml2/auth.py b/ipsilon/providers/saml2/auth.py index 87f4ac8..49f73a9 100755 --- a/ipsilon/providers/saml2/auth.py +++ b/ipsilon/providers/saml2/auth.py @@ -127,7 +127,8 @@ class AuthenticateRequest(ProviderPageBase): self.basepath, self.trans.get_GET_arg()) data = {'saml2_stage': 'auth', 'saml2_request': login.dump(), - 'login_return': returl} + 'login_return': returl, + 'login_target': login.remoteProviderId} self.trans.store(data) redirect = '%s/login?%s' % (self.basepath, self.trans.get_GET_arg()) diff --git a/templates/login/form.html b/templates/login/form.html index 4188ead..e5e5978 100644 --- a/templates/login/form.html +++ b/templates/login/form.html @@ -10,6 +10,12 @@ {% endif %} +{% if login_target %} +
+

You are being asked to login by {{login_target}}

+
+
+{% endif %}