From 01e576e13ad295d470d6742c64f4db7120ff1222 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 1 Oct 2021 10:20:42 +0200 Subject: [PATCH] settings_loaders: add service ref to account and register URLs (#57482) --- hobo/multitenant/settings_loaders.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/hobo/multitenant/settings_loaders.py b/hobo/multitenant/settings_loaders.py index d07be91..5e67af1 100644 --- a/hobo/multitenant/settings_loaders.py +++ b/hobo/multitenant/settings_loaders.py @@ -1,6 +1,7 @@ import hashlib import json import os +import urllib.parse from django.conf import settings from django.utils.encoding import force_bytes @@ -148,8 +149,19 @@ class TemplateVars(FileBaseSettingsLoader): if service.get('service-id') == 'authentic': variables['idp_url'] = service.get('base_url') variables['idp_api_url'] = service.get('base_url') + 'api/' - variables['idp_account_url'] = service.get('base_url') + 'accounts/' - variables['idp_registration_url'] = service.get('base_url') + 'accounts/register/' + slug = service['slug'] + ou_slug = variables.get('ou-slug') + if ou_slug: + idp_service_ref = f"_{ou_slug}_{slug}" + else: + idp_service_ref = slug + quoted_idp_service_ref = urllib.parse.quote(idp_service_ref) + variables['idp_account_url'] = ( + service.get('base_url') + f'accounts/?service={quoted_idp_service_ref}' + ) + variables['idp_registration_url'] = ( + service.get('base_url') + f'accounts/register/?service={quoted_idp_service_ref}' + ) if not service.get('this'): continue -- 2.33.0