From 6acd4305290fb4531bebce16240c0e57c4563a00 Mon Sep 17 00:00:00 2001 From: Ivan Nikolskiy Date: Mon, 16 Jun 2025 21:34:17 +0200 Subject: [PATCH] Add optional method argument --- django_hopid/templatetags/hopid_tags.py | 8 ++++---- django_hopid/utils.py | 6 +++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/django_hopid/templatetags/hopid_tags.py b/django_hopid/templatetags/hopid_tags.py index 95846aa..7def720 100644 --- a/django_hopid/templatetags/hopid_tags.py +++ b/django_hopid/templatetags/hopid_tags.py @@ -30,14 +30,14 @@ register = template.Library() @register.simple_tag(takes_context=True) -def hopid_login_url(context): +def hopid_login_url(context, method=None): request = context['request'] - return get_hopid_login_url(request) + return get_hopid_login_url(request, method) @register.simple_tag(takes_context=True) -def hopid_login_button(context): +def hopid_login_button(context, method=None): request = context['request'] - url = get_hopid_login_url(request) + url = get_hopid_login_url(request, method) return render_to_string('django_hopid/hopid_login_button.html', {'url': url}) diff --git a/django_hopid/utils.py b/django_hopid/utils.py index 9165102..b3122bb 100644 --- a/django_hopid/utils.py +++ b/django_hopid/utils.py @@ -92,7 +92,7 @@ def generate_pkce_pair(): return verifier, challenge -def get_hopid_login_url(request): +def get_hopid_login_url(request, method=None): nonce = secrets.token_urlsafe(32) verifier, challenge = generate_pkce_pair() @@ -110,4 +110,8 @@ def get_hopid_login_url(request): "code_challenge": challenge, "code_challenge_method": "S256" } + + if method: + params.update({'method': method.lower()}) + return f"{base}?{urlencode(params)}"