From 7e94f5e9414bc77ec2e03be4dcf3ef2d8c3ab523 Mon Sep 17 00:00:00 2001 From: saj-derilinx Date: Fri, 17 Nov 2023 12:21:11 +0000 Subject: [PATCH 1/6] Enable email login --- ckanext/security/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ckanext/security/utils.py b/ckanext/security/utils.py index bd19991..3da7385 100644 --- a/ckanext/security/utils.py +++ b/ckanext/security/utils.py @@ -123,6 +123,8 @@ def login(): user_name = identity['login'] user = model.User.by_name(user_name) + if not user: + user = model.User.by_email(user_name) login_throttle_key = get_login_throttle_key(request, user_name) if login_throttle_key is None: @@ -174,7 +176,6 @@ def login(): log.info('User %s supplied invalid 2fa code', user_name) response_status = 403 throttle.increment() - return (response_status, json.dumps(res)) except Exception as err: From 4e0b483f0e43b3555c083c7f19e53128c8aacba3 Mon Sep 17 00:00:00 2001 From: saj-derilinx Date: Fri, 17 Nov 2023 12:40:16 +0000 Subject: [PATCH 2/6] Get user name from user model object --- ckanext/security/authenticator.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ckanext/security/authenticator.py b/ckanext/security/authenticator.py index 84955a2..44102a8 100644 --- a/ckanext/security/authenticator.py +++ b/ckanext/security/authenticator.py @@ -6,6 +6,7 @@ import pylons from ckan.lib.cli import MockTranslator +from ckan import model from ckan.lib.authenticator import UsernamePasswordAuthenticator from ckan.model import User from ckan.common import config @@ -73,6 +74,10 @@ def authenticate(self, environ, identity): to log into a specific account within a period of time.""" try: user_name = identity['login'] + user = model.User.by_name(user_name) + if not user: + user = model.User.by_email(user_name) + user_name = user.name except KeyError: return None From 2bdfc0c8d377a5188329dab31ea2ee9bae0a8647 Mon Sep 17 00:00:00 2001 From: saj-derilinx Date: Fri, 17 Nov 2023 12:44:27 +0000 Subject: [PATCH 3/6] Fix form label and disable help link --- ckanext/security/templates/user/snippets/login_form.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ckanext/security/templates/user/snippets/login_form.html b/ckanext/security/templates/user/snippets/login_form.html index 6268c72..83d84e0 100644 --- a/ckanext/security/templates/user/snippets/login_form.html +++ b/ckanext/security/templates/user/snippets/login_form.html @@ -29,7 +29,7 @@
- {{ form.input('login', label=_("Username"), id='field-login', value="", error=username_error, classes=["control-medium"]) }} + {{ form.input('login', label=_("Username or Email"), id='field-login', value="", error=username_error, classes=["control-medium"]) }} {{ form.input('password', label=_("Password"), id='field-password', type="password", value="", error=password_error, classes=["control-medium"]) }}
@@ -61,7 +61,7 @@
- + {# #}
From 5eb06bfbe879b24c1f668d1f233f281287c47865 Mon Sep 17 00:00:00 2001 From: saj-derilinx Date: Mon, 4 Dec 2023 13:32:00 +0000 Subject: [PATCH 4/6] Change text --- ckanext/security/templates/user/snippets/login_form.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckanext/security/templates/user/snippets/login_form.html b/ckanext/security/templates/user/snippets/login_form.html index 83d84e0..de43fc5 100644 --- a/ckanext/security/templates/user/snippets/login_form.html +++ b/ckanext/security/templates/user/snippets/login_form.html @@ -46,7 +46,7 @@