From 33b0972f1fcc4d771af349607d735c6e3c5f7fbb Mon Sep 17 00:00:00 2001 From: Nicolas Traeder Date: Mon, 1 Aug 2016 09:04:53 +0200 Subject: [PATCH] Fixes bug with serialized access-token. The strange think is that sometimes a AccessToken class instance is returned from the config and sometimes only a encoded json string. The bug is reported in the main project #42 Adds the .idea (PHPStorm settings) folder to the gitignore --- .gitignore | 1 + src/Http/Middleware/AuthMiddleware.php | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index aaa3129..6cd00bc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ build composer.lock vendor .env +.idea \ No newline at end of file diff --git a/src/Http/Middleware/AuthMiddleware.php b/src/Http/Middleware/AuthMiddleware.php index cc4f839..c83de38 100644 --- a/src/Http/Middleware/AuthMiddleware.php +++ b/src/Http/Middleware/AuthMiddleware.php @@ -3,6 +3,7 @@ namespace Larabros\Elogram\Http\Middleware; use GuzzleHttp\Psr7\Uri; +use League\OAuth2\Client\Token\AccessToken; use Psr\Http\Message\RequestInterface; /** @@ -30,10 +31,16 @@ public function __invoke(RequestInterface $request, array $options) return $next($request, $options); } + $accessToken = $this->config->get('access_token'); + + if (!($accessToken instanceof AccessToken)) { + $accessToken = new AccessToken(json_decode($accessToken , true)); + } + $uri = Uri::withQueryValue( $request->getUri(), 'access_token', - $this->config->get('access_token')->getToken() + $accessToken->getToken() ); return parent::__invoke(