Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2014
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.16 KB | None | 0 0
  1. <?php
  2. use Ordercloud\Ordercloud\Ordercloud;
  3. use Ordercloud\Ordercloud\OrdercloudException;
  4.  
  5. class UserComposer
  6. {
  7.     public function compose($view)
  8.     {
  9.         if(Cookie::get("user") !== null && Cookie::get("access_token") !== null)
  10.         {
  11.             Log::error("Is logged in");
  12.             $view->with(
  13.                 array("user" => unserialize(Cookie::get("user")))
  14.             );
  15.         }
  16.         elseif(Cookie::get("refresh_token") !== null)
  17.         {
  18.             $oc = new Ordercloud();
  19.             try
  20.             {
  21.                 //throw new OrdercloudException("test");
  22.                 Log::error("Attempting getNewAccessToken");
  23.                 $refreshResults = $oc->getNewAccessToken(Cookie::get("refresh_token"));
  24.                 Log::error("Attempting getUserDetails");
  25.                 $user = $oc->getUserDetails($refreshResults["access_token"]);
  26.                 $accessTokenCookie = Cookie::make("access_token", $refreshResults["access_token"], 3600);
  27.                 $refreshTokenCookie = Cookie::make("refresh_token", $refreshResults["refresh_token"], 3600);
  28.                 $userCookie = Cookie::make("user", serialize($user), 3600);
  29.                 Log::error("Done, setting cookie");
  30.  
  31.                 $view->with(
  32.                     array("user" => $user)
  33.                 );
  34.  
  35.                 //return Redirect::to("/")->withCookie($refreshTokenCookie)->withCookie($userCookie)->withCookie($accessTokenCookie);
  36.  
  37.                 Response::make($view)->withCookie($refreshTokenCookie)->withCookie($userCookie)->withCookie($accessTokenCookie);
  38.                 //var_dump(Response::make($view)->withCookie($refreshTokenCookie)->withCookie($userCookie)->withCookie($accessTokenCookie));
  39.             }
  40.             catch(OrdercloudException $e)
  41.             {
  42.                 Log::error($e);
  43.                 //Ok so this would happen if we couldn't refresh the user, so we just unset all is cookies
  44.                 $view->withCookie(Cookie::forget("user"))->withCookie(Cookie::forget("refresh_token"))->withCookie(Cookie::forget("access_token"))->with(
  45.                     array("user" => false)
  46.                 );
  47.             }
  48.  
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement