Bläddra i källkod

Fix logout suplantar usuario

Espinoza Guillermo 6 år sedan
förälder
incheckning
2373f6de17
2 ändrade filer med 16 tillägg och 4 borttagningar
  1. 1 1
      Resources/config/services.yml
  2. 15 3
      Twig/IsGrantedPreviousAdminExtension.php

+ 1 - 1
Resources/config/services.yml

@@ -15,6 +15,6 @@ services:
             
     base_oauthclient.twig_is_granted_previous_admin_extension:
        class: Base\OAuthClientBundle\Twig\IsGrantedPreviousAdminExtension
-       arguments: ["@webservice", "%env(HOST_BASE)%"]
+       arguments: ["@webservice", "%env(HOST_BASE)%", "@request_stack"]
        tags:
            - { name: twig.extension }

+ 15 - 3
Twig/IsGrantedPreviousAdminExtension.php

@@ -2,6 +2,7 @@
 
 namespace Base\OAuthClientBundle\Twig;
 
+use Buzz\Message\RequestInterface as HttpRequestInterface;
 use WebserviceBundle\Services\Webservice;
 
 class IsGrantedPreviousAdminExtension extends \Twig_Extension
@@ -17,15 +18,23 @@ class IsGrantedPreviousAdminExtension extends \Twig_Extension
      */
     protected $urlBase;
 
+    /**
+     * @var RequestStack
+     */
+    protected $request;
+
 
     /**
      * @param Webservice $webservice
      * @param string $urlBase
+     * @param RequestStack $request
      */
-    public function __construct(Webservice $webservice, $urlBase)
+    public function __construct(Webservice $webservice, $urlBase, $request)
     {
         $this->webservice = $webservice;
         $this->urlBase = $urlBase;
+        
+        $this->request = $request->getCurrentRequest();
     }
 
     /**
@@ -44,9 +53,12 @@ class IsGrantedPreviousAdminExtension extends \Twig_Extension
      */
     public function isGrantedPreviousAdmin()
     {
-        return false;
         try {
-            return $this->webservice->makeGetRequest($this->urlBase . '/admin/user/is_granted');
+            $url = "https://{$this->urlBase}/admin/user/is_granted";
+            $cookies = $this->request->cookies->all();
+            $response = $this->webservice->makeGetRequest($url, HttpRequestInterface::METHOD_GET, [], [], $cookies);
+            
+            return json_decode($response);
         } catch (\Exception $e) {
             return false;
         }