namespace app\Github;
-use app\Github\API;
use app\Github\Storage;
use app\Github\Exception;
use app\Pharext;
}
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) {
"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)
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;