瀏覽代碼

FD3-251 Se realiza un parche temporal para poder obtener tenencia en Mapas viniendo desde Base.

Maxi Schvindt 7 年之前
父節點
當前提交
02368fcaa8
共有 1 個文件被更改,包括 20 次插入8 次删除
  1. 20 8
      Security/Firewall/OAuthProxyListener.php

+ 20 - 8
Security/Firewall/OAuthProxyListener.php

@@ -91,16 +91,17 @@ class OAuthProxyListener implements ListenerInterface
             // el header contiene php-auth-user && php-auth-pw
             $error = !$this->PHPAuth($request);
         } elseif ($request->headers->has("authorization")) {
-            $messageLog = "AUTHORIZATION (IP: " . $request->getClientIp() . ")";
+            $messageLog = "AUTHORIZATION A (IP: " . $request->getClientIp() . ")";
             // el header contiene authorization
             $error = !$this->PHPAuthorization($request);
         } elseif ($request->getClientIp()) {
-            $messageLog = "AUTHORIZATION (IP: " . $request->getClientIp() . ")";
+            $messageLog = "AUTHORIZATION B (IP: " . $request->getClientIp() . ")";
             $error = !$this->clientIp($request);
         } else {
             $messageLog = "NO REFERENCE. DENY ALL.";
             $error = true;
         }
+
         if ($error) {
             $this->logger->info("ERROR - " . $messageLog);
             $this->deny($event);
@@ -172,11 +173,11 @@ class OAuthProxyListener implements ListenerInterface
 
     /**
      * @param Request $request
-     * @return bool Retorna TRUE si pudo crear y setear el CustomOAuthUser
+     * @return bool Retorna TRUE si puaccessTokenServicedo crear y setear el CustomOAuthUser
      */
     private function PHPAuthorization($request)
     {
-       $authorization = $request->headers->get("authorization");
+        $authorization = $request->headers->get("authorization");
         $pieces = explode(' ', $authorization);
         $accessToken = array(
             'access_token' => $pieces[1],
@@ -197,6 +198,7 @@ class OAuthProxyListener implements ListenerInterface
     private function clientIp($request)
     {
         $username = $clientIp = $request->getClientIp();
+
         if (\AuthBundle\Utils\IpUtils::checkIp($clientIp) === false) {
             return false;
         }
@@ -206,10 +208,20 @@ class OAuthProxyListener implements ListenerInterface
         );
         $auth_info['roles'] = array('ROLE_USER');
         // @TODO: Traer la tenencia Base de la app Base
-        $tenancy = array(
-            'id' => 1,
-            'name' => 'Tenencia Base',
-        );
+
+        $filter = $request->query->get('filters');
+
+        if(isset($filter['tenancyId']) && $filter['tenancyId'] != 1) {
+            $tenancy = array(
+                array('id' => 1,'name' => 'Tenencia Base',), 
+                array('id' => (int) $filter['tenancyId'], 'name' => 'Tenancy Fix'));
+        } else {
+            $tenancy = array(array(
+                'id' => 1,
+                'name' => 'Tenencia Base',
+            ));
+        }
+
         $auth_info['tenancies'] = $auth_info['tenancyCurrent'] = $tenancy;
         return $this->createCustomOAuthUser($username, $accessToken, $auth_info);
     }