X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FGithub%2FAPI.php;h=8cff984c4707bb2645c7ecc5bcf06069a83f9442;hb=303950054385d4c55cfef9a8828ee79420b7366e;hp=3eea40d625defd7042bc1e3bb818348c5160d798;hpb=98e8aa941a26ed0990814a2d87bf590e70fe3ce7;p=pharext%2Fpharext.org diff --git a/app/Github/API.php b/app/Github/API.php index 3eea40d..8cff984 100644 --- a/app/Github/API.php +++ b/app/Github/API.php @@ -101,7 +101,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 +140,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 +150,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;