Guillermo Espinoza преди 7 години
родител
ревизия
8d58bfd386
променени са 1 файла, в които са добавени 13 реда и са изтрити 8 реда
  1. 13 8
      Security/Firewall/OAuthProxyListener.php

+ 13 - 8
Security/Firewall/OAuthProxyListener.php

@@ -97,19 +97,22 @@ class OAuthProxyListener implements ListenerInterface
             return $this->deny($event);
         }
                 
-        $user = new CustomOAuthUser($username);
-        $user->setRoles($auth_info['roles']);
-        $user->setTenancies($auth_info['tenancies']);
-        $user->setTenancyCurrent($auth_info['tenancyCurrent']);
-        
-        $token = new OAuthToken($accessToken, $user->getRoles());
-        $token->setUser($user);
         try {
+            $user = new CustomOAuthUser($username);
+            if (count($auth_info)) {
+                $user->setRoles($auth_info['roles']);
+                $user->setTenancies($auth_info['tenancies']);
+                $user->setTenancyCurrent($auth_info['tenancyCurrent']);
+            }
+
+            $token = new OAuthToken($accessToken, $user->getRoles());
+            $token->setUser($user);
+            
             $authToken = $this->authenticationManager->authenticate($token);
             $this->tokenStorage->setToken($authToken);
             
             return;
-        } catch (AuthenticationException $failed) {
+        } catch (\Exception $failed) {
             var_dump($failed->getMessage());
         }
 
@@ -127,6 +130,8 @@ class OAuthProxyListener implements ListenerInterface
         $response->setStatusCode(Response::HTTP_FORBIDDEN);
         $event->setResponse($response);
         
+        echo 'The OAuth authentication failed.' . PHP_EOL;
+        
         return;
     }