Преглед изворни кода

ApiLegacyRequestService : manage the case where there is no active user

Olivier Massot пре 2 година
родитељ
комит
fe20790d16
1 измењених фајлова са 7 додато и 3 уклоњено
  1. 7 3
      src/Service/ApiLegacy/ApiLegacyRequestService.php

+ 7 - 3
src/Service/ApiLegacy/ApiLegacyRequestService.php

@@ -51,11 +51,11 @@ class ApiLegacyRequestService extends ApiRequestService
             'Content-Type' => 'application/ld+json',
         ];
 
-        /** @var Access $activeUser */
-        $activeUser = $token->getUser();
-
         $jwt = null;
         if ($token instanceof SwitchUserToken) {
+            /** @var Access $activeUser */
+            $activeUser = $token->getUser();
+
             /** @var Access|null $originalUser */
             $originalUser = $token->getOriginalToken()->getUser();
 
@@ -66,7 +66,11 @@ class ApiLegacyRequestService extends ApiRequestService
             $jwt = $this->jwtManager->create($originalUser->getPerson());
             $headers['x-accessid'] = $originalUser->getId();
             $headers['x-switch-access'] = $activeUser->getId();
+
         } elseif ($token !== null && !($token instanceof NullToken) && $token->getUser() !== null) {
+            /** @var Access $activeUser */
+            $activeUser = $token->getUser();
+
             $jwt = $this->jwtManager->create($activeUser->getPerson());
             $headers['x-accessid'] = $activeUser->getId();
         }