/** * @private */ function accessTokenExpired($accessToken, $consumer, $applicationId, $sessionStore) { global $GLOBAL_YAHOO_SESSION; $now = time(); if(($accessToken->handleExpires === -1) || ($now < $accessToken->handleExpires)) { // Either the access session handle doesn't expire // or it hasn't expired yet. Get a new access token. $newAccessToken = YahooAuthorization::getAccessToken( $consumer->key, $consumer->secret, $accessToken, null); if(is_null($newAccessToken)) { YahooLogger::error("Failed to fetch access token"); $GLOBAL_YAHOO_SESSION = NULL; } $sessionStore->storeAccessToken($newAccessToken); YahooLogger::debug("Got new AT/ATS from ASH!"); YahooLogger::debug("OAuth AT: " . $newAccessToken->key . " ATS: ". $newAccessToken->secret); $GLOBAL_YAHOO_SESSION = new YahooSession( $consumer, $newAccessToken, $applicationId); } else { // The access token is expired and we don't have // a sufficient access session handle to renew // the access token. Clear the cookie and redirect // to authorization point or return a NULL session. $sessionStore->clearAccessToken(); if ($redirect) { YahooSession::redirectForAuthorization($consumer->key, $consumer->secret, $callback, $sessionStore); } else { $GLOBAL_YAHOO_SESSION = NULL; } } }