From d185d4cf3368ddb22acb7a2e75e925d84d118efd Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Tue, 11 Jul 2023 01:10:45 +0200
Subject: [PATCH] Retrieve object from authenticator

---
 aleksis/core/views.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index a15261010..a39cbded3 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -1608,7 +1608,12 @@ class ObjectRepresentationView(View):
             authenticator_class = ObjectAuthenticator.get_object_by_name(authenticator)
             if not authenticator_class:
                 continue
-            if authenticator_class().authenticate(request, self.object):
+            obj = authenticator_class().authenticate(request, self.object)
+            if obj:
+                if self.object is None:
+                    self.object = obj
+                elif obj != self.object:
+                    raise BadRequest("Ambiguous objects identified")
                 return True
 
         raise PermissionDenied()
-- 
GitLab