public function getStoredToken(tubepress_spi_http_oauth2_Oauth2ProviderInterface $provider) { $requestedSlug = $this->_context->get(tubepress_api_options_Names::OAUTH2_TOKEN); $tokens = $this->_context->get(tubepress_api_options_Names::OAUTH2_TOKENS); $decoded = json_decode($tokens, true); $providerName = $provider->getName(); if (!isset($decoded[$providerName])) { return null; } $providerTokens = $decoded[$providerName]; $explicitSlug = $requestedSlug != ''; if (!is_array($providerTokens)) { return null; } if ($explicitSlug) { if ($explicitSlug === 'none' || !isset($providerTokens[$requestedSlug])) { return null; } } else { if (count($providerTokens) === 0) { return null; } $slugs = array_keys($providerTokens); $requestedSlug = $slugs[0]; } $tokenData = $providerTokens[$requestedSlug]; $accessToken = $tokenData[self::$_ACCESS_TOKEN]; $refreshToken = isset($tokenData[self::$_REFRESH_TOKEN]) ? $tokenData[self::$_REFRESH_TOKEN] : null; $expiry = intval($tokenData[self::$_EXPIRY_UNIX]); $extra = $tokenData[self::$_EXTRA]; $toReturn = new tubepress_http_oauth2_impl_token_Token(); $toReturn->setAccessToken($accessToken); $toReturn->setExtraParams($extra); $toReturn->setEndOfLifeUnixTime($expiry); if ($refreshToken) { $toReturn->setRefreshToken($refreshToken); } return $toReturn; }
public function testSetEol() { $this->_sut->setEndOfLifeUnixTime(999); $this->assertEquals(999, $this->_sut->getEndOfLifeUnixTime()); }