X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FGithub%2FAPI.php;h=96f2cdad2d2dc3076c497d3098ee50db24218935;hb=2eeecd1ab677b49ff82b51689378d062d1e3753c;hp=3eea40d625defd7042bc1e3bb818348c5160d798;hpb=98e8aa941a26ed0990814a2d87bf590e70fe3ce7;p=pharext%2Fpharext.org diff --git a/app/Github/API.php b/app/Github/API.php index 3eea40d..96f2cda 100644 --- a/app/Github/API.php +++ b/app/Github/API.php @@ -2,7 +2,6 @@ namespace app\Github; -use app\Github\API; use app\Github\Storage; use app\Github\Exception; use app\Pharext; @@ -101,7 +100,14 @@ class API } function hasToken() { - return $this->tokens->get("access_token"); + if ($this->tokens->get("access_token", $token)) { + $access_token = $token->getValue(); + if (isset($access_token)) { + return true; + } + $this->dropToken(); + } + return false; } function setToken($token) { @@ -133,7 +139,7 @@ class API "state" => $state, "client_id" => $this->config->client->id, "scope" => $this->config->client->scope, - "redirect_uri" => $callback_url, + "redirect_uri" => (string) $callback_url, ]; return new Url("https://github.com/login/oauth/authorize", [ "query" => new QueryString($param) @@ -143,7 +149,7 @@ class API function fetchToken($code, $state) { if (!$this->tokens->get("state", $orig_state, true)) { if (isset($orig_state)) { - $this->logger->notice("State expired", $orig_state); + $this->logger->notice("State expired", compact("state", "orig_state")); throw new Exception\StateExpired($orig_state->getLTL()); } throw new Exception\StateNotSet;