예제 #1
0
 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;
 }
예제 #2
0
 public function testSetEol()
 {
     $this->_sut->setEndOfLifeUnixTime(999);
     $this->assertEquals(999, $this->_sut->getEndOfLifeUnixTime());
 }