From 1e044e7aef20e83c3990b94df2a841fa589bdbe5 Mon Sep 17 00:00:00 2001
From: Helmut Merz
Date: Wed, 6 Aug 2025 16:40:38 +0200
Subject: [PATCH] auth: provide list of groups for principal on login callback
---
loops/server/auth.py | 8 ++++++++
loops/server/loginform.pt | 3 ++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/loops/server/auth.py b/loops/server/auth.py
index f0ac0c3..2093b18 100644
--- a/loops/server/auth.py
+++ b/loops/server/auth.py
@@ -30,6 +30,14 @@ class CallbackView:
oidc.Authenticator(self.request).callback()
return ''
+ def getGroupsForPrincipal(self, prcId):
+ pau = getUtility(IAuthentication, context=self.context)
+ groups = pau['gloops'].getGroupsForPrincipal(prcId)
+ gf_ws = pau.get('gloops_ws')
+ if gf_ws:
+ groups += gf_ws.getGroupsForPrincipal(prcId)
+ return groups
+
class LogoutView:
diff --git a/loops/server/loginform.pt b/loops/server/loginform.pt
index b393b19..64be1ce 100644
--- a/loops/server/loginform.pt
+++ b/loops/server/loginform.pt
@@ -26,7 +26,8 @@
You are not authorized to perform this action. However, you may login as a
different user who is authorized.
- Login with Zitadel
+ Login with Zitadel