From 1b14ba4843d31a1216f06de67584de41c0624ca0 Mon Sep 17 00:00:00 2001 From: Mark <mark@openappstack.net> Date: Fri, 25 Oct 2019 15:55:05 +0200 Subject: [PATCH] Refactor --- login_provider/app.py | 7 +++---- login_provider/db.py | 1 + login_provider/helper.py | 4 ++-- login_provider/test/test_helper_functions.py | 1 - 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/login_provider/app.py b/login_provider/app.py index 0f2c2a8..5cc092c 100644 --- a/login_provider/app.py +++ b/login_provider/app.py @@ -7,7 +7,7 @@ from forms import LoginForm, LogoutForm from helper import is_safe_url HYDRA_ADMIN_URL = environ['HYDRA_ADMIN_URL'] -hydra = HydraAdmin(HYDRA_ADMIN_URL) +HYDRA = HydraAdmin(HYDRA_ADMIN_URL) app = Flask(__name__) if "FLASK_SECRET_KEY" not in environ: @@ -30,9 +30,8 @@ def home(): challenge = request.args.get("login_challenge") if not challenge: return render_template('home.html', email=current_user.email, logout_form=LogoutForm()) - else: - redirect_to = hydra.login_request(challenge).accept(current_user.email) - return redirect(redirect_to) + redirect_to = HYDRA.login_request(challenge).accept(current_user.email) + return redirect(redirect_to) @app.route('/login', methods=['GET', 'POST']) def login(): diff --git a/login_provider/db.py b/login_provider/db.py index cc896d9..49e5ae3 100644 --- a/login_provider/db.py +++ b/login_provider/db.py @@ -7,6 +7,7 @@ from json import loads GRAPHQL_URL = environ['GRAPHQL_URL'] graphql_client = GraphQLClient(GRAPHQL_URL) + class User(UserMixin): def __init__(self, username): self.id = username diff --git a/login_provider/helper.py b/login_provider/helper.py index d4efb1d..66b84ce 100644 --- a/login_provider/helper.py +++ b/login_provider/helper.py @@ -19,8 +19,8 @@ def is_safe_url(url): True if the url is trusted. False if not. """ safe_urls = [ - "^[/]*$", # Home page - "^/\?login_challenge=[a-z|A-Z|0-9]+$" # Login challenge with alphanumeric code + r"^[/]*$", # Home page + r"^/\?login_challenge=[a-z|A-Z|0-9]+$" # Login challenge with alphanumeric code ] for safe_url in safe_urls: if re.fullmatch(safe_url, url) is not None: diff --git a/login_provider/test/test_helper_functions.py b/login_provider/test/test_helper_functions.py index 34acc3d..b1dd402 100644 --- a/login_provider/test/test_helper_functions.py +++ b/login_provider/test/test_helper_functions.py @@ -14,4 +14,3 @@ class UnitTests(unittest.TestCase): self.assertTrue(is_safe_url("/?login_challenge=9a8s9da8s9dhahsda")) self.assertFalse(is_safe_url("/malicious")) self.assertFalse(is_safe_url("/?login_challenge=Not_alpha_numeric")) - -- GitLab