From 2a393b8d593be96c54ae99f9a5c6d9d3d4cf1a1f Mon Sep 17 00:00:00 2001
From: Art Lukyanchyk <artiom.lukyanchyk@hs-hannover.de>
Date: Mon, 18 Mar 2024 16:29:22 +0100
Subject: [PATCH] Add working default paths for SP certificate

---
 ssoauth/app_settings/defaults.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ssoauth/app_settings/defaults.py b/ssoauth/app_settings/defaults.py
index 080784c..1325de5 100644
--- a/ssoauth/app_settings/defaults.py
+++ b/ssoauth/app_settings/defaults.py
@@ -1,4 +1,5 @@
 import os
+import pathlib
 from django.conf import settings as django_settings
 from datetime import timedelta
 
@@ -23,8 +24,10 @@ IDP_META_URL = None  # e.g. "https://idp-test.hs-hannover.de/idp/shibboleth"
 IDP_ENTITY_ID = IDP_META_URL  # these must normally be the same, but a workaround is required as of 18.03.2024
 IDP_LOGOUT_URL = None  # e.g. "https://idp-test.it.hs-hannover.de/idp/profile/Logout"
 
-SP_KEY = "{project_settings}/cert/sp.key"
-SP_CERT = "{project_settings}/cert/sp.pem"
+# paths to the public/private keys for SAML2, either put them into `settings/sso_cert/` or change the settings
+__settings_directory = str(pathlib.Path(os.environ.get("DJANGO_SETTINGS_MODULE").replace(".", "/")).absolute())
+SP_KEY = f"{__settings_directory}/sso_cert/sp.key"
+SP_CERT = f"{__settings_directory}/sso_cert/sp.pem"
 
 SSO_REQUIRED_IN_DEBUG = False
 SSO_REQUIRED_IN_PRODUCTION = False  # disabled because of e.g. collectstatic on the static server
-- 
GitLab