function catchGoogleExceptions($e)
{
    global $credentialsPath, $client;
    print "An error occurred: " . $e->getMessage() . " <br>";
    switch ($e->getCode()) {
        case '401':
            refreshToken($client);
            print "Token refreshed. Restart app <br>";
            break;
    }
    die;
}
Exemple #2
0
function checkToken()
{
    if (isset($_SESSION['timeToken'])) {
        $time_left = $_SESSION['timeToken'] + $_SESSION['expires_in'] - time();
        $ret = 0;
        if ($time_left < 5 * 60) {
            $ret = refreshToken();
        }
        return $time_left;
    } else {
        retun - 1;
    }
}
/**
 * Returns an authorized API client.
 * @return Google_Client the authorized client object
 */
function getClient()
{
    global $credentialsPath;
    $client = new Google_Client();
    $client->setApplicationName(APPLICATION_NAME);
    $client->setScopes(GAPI_SCOPES);
    $client->setAuthConfigFile(CLIENT_SECRET_PATH);
    $client->setAccessType('offline');


    if (file_exists($credentialsPath)) {
        $accessToken = file_get_contents($credentialsPath);
    } else {
        $authUrl = $client->createAuthUrl();
        $authCode = false;
        if (isset($_POST['authCode']) && $_POST['authCode']) {
            $authCode = $_POST['authCode'];
        }

        if (!$authCode) {
            printf("Open the following link in your browser:\n<a href='%s' target='_blank'>link</a>\n", $authUrl);
            echo "<form method='post'><input name='authCode'><input type='submit' name='Check auth code'></form>";
            die;
        }

        if ($authCode) {
            // Exchange authorization code for an access token.
            $accessToken = $client->authenticate($authCode);
            if (file_put_contents($credentialsPath, $accessToken)) {
                printf("Credentials saved to %s: " . colorize("SUCCESS", "SUCCESS") . "<br>", $credentialsPath);
            } else {
                printf("Credentials saved to %s: " . colorize("FAILED", "FAILURE") . "<br>", $credentialsPath);
                die;
            }
        } else {
            die("No authCode");
        }
    }

    $client->setAccessToken($accessToken);

    // Refresh the token if it's expired.
    if ($client->isAccessTokenExpired()) {
        echo "Token is Expired. Trying to refresh.. <br>";
        $client = refreshToken($client);
    } else {
        echo "Everything fine<br>";
    }

    return $client;
}
<?php

/*
 * IMPLEMENTATION OF: https://authserver.mojang.com/refresh
 */
define('METHUSELAH_INCLUDE_CHECK', true);
require_once "yggdrasil.php";
$payload = filterPostPayload();
$accessToken = $payload['accessToken'] or responseWithError("accessToken is empty!");
$clientToken = $payload['clientToken'] or responseWithError("clientToken is empty!");
// Обновление лицензионного accessToken-а
$mojangResponse = mojangRefresh($accessToken, $clientToken);
// Новый accessToken
$newToken = $mojangResponse != false ? $mojangResponse['accessToken'] : md5(uniqid());
// Обновление в БД и получение учётной записи
$uuid = refreshToken($accessToken, $clientToken, $newToken);
// Возврат результата выполнения
if ($uuid != false) {
    $result = array("accessToken" => $newToken, "clientToken" => $clientToken, "selectedProfile" => array("id" => $uuid, "name" => getProfileName($uuid)));
    response($result);
}
responseWithError("ForbiddenOperationException", "Invalid accessToken or clientToken.");
Exemple #5
0
<?php

require_once "common.php";
//capture code from auth
$code = $_GET["code"];
//construct POST object for access token fetch request
$postvals = array('grant_type' => 'authorization_code', 'client_id' => $key, 'client_secret' => $secret, 'code' => $code, 'redirect_uri' => $callback_url);
//get JSON access token object (with refresh_token parameter)
$token = json_decode(run_curl($access_token_endpoint, 'POST', null, $postvals));
echo "<h1>TOKEN</h1>";
var_dump($token);
echo "<br /><br />";
//set request headers for signed OAuth request
$headers = array("Accept: application/json");
//construct URI to fetch profile information for current user
$profile_url = "https://api.gowalla.com/users/me?oauth_token=" . $token->access_token;
//fetch profile of current user
$profile = run_curl($profile_url, 'GET', $headers);
var_dump($profile);
echo "<h1>REFRESHING TOKEN</h1>";
var_dump(refreshToken($key, $secret, $token->refresh_token));
function catchGoogleExceptions($e)
{
    global $credentialsPath, $client;
    logError("An error occurred " . $e->getCode() . ": " . $e->getMessage());
//    var_dump($e);
    switch ($e->getCode()) {
        case '401':
            refreshToken($client);
            logError("Token refreshed. Please restart app");
            break;
    }
    closeSession();
}
Exemple #7
0
if (isset($_GET['code'])) {
    // take our spotify response, and inject it to our localStorage
    ?>
		<script type="text/javascript">
			var response = <?php 
    echo getToken($_GET['code'], $url);
    ?>
;
			var Spotify = JSON.parse( localStorage.getItem('ngStorage-spotify') );
			Spotify.AuthorizationCode = "<?php 
    echo $_GET['code'];
    ?>
";
			Spotify.AccessToken = response.access_token;
			Spotify.RefreshToken = response.refresh_token;
			localStorage.setItem('ngStorage-spotify', JSON.stringify( Spotify ));
            window.close();
		</script>
	<?php 
}
/*
 * Refresh the token
 * Triggered by a detection that the token is expired, and the application decides it needs to be refreshed
 * $authorization_code = string
 * Returns JSON with new token details
*/
if (isset($_GET['refresh_token'])) {
    // return whatever spotify returned to us
    echo refreshToken($_GET['refresh_token']);
    die;
}
 public function respondByDefenderUser($postid, $message)
 {
     global $nmDataService;
     global $logService;
     global $error_code;
     global $error;
     global $forum_status;
     global $tds;
     global $appid;
     global $logthreadid;
     $rtxid = 0;
     $ttxid = 0;
     if ($forum_status != 2) {
         return;
     }
     $appid = 1;
     $message = $message . ' #' . $logthreadid;
     $username = '******';
     $unds = $nmDataService->getUsernodeDataService(1);
     //$user=$unds->getDisqusUserByPrimaryName($username);
     $user = $unds->getDisqusAppUserByUsername($username, $appid);
     $logService->log('DEBUG C', 'respondByDefenderUser', var_log($user, '$user'), 'userManager');
     $token = $user['auth_token'];
     $refresh_token = $user['refresh_token'];
     $identity = $user['identity'];
     if (isset($tds)) {
         $rtxid = $tds->forumTasks_shortStartTx('RespondToPost', 'username='******';appid=' . $appid . ';identity=' . $identity);
         //$logService->log('DEBUG','forumTasks_shortStartTx(RespondToPost) returned'.$rtxid,'','userManager');
     }
     if (!respodToPost($token, $postid, $message, true)) {
         if (isset($tds)) {
             $tds->abortTx($rtxid, 'username='******';appid=' . $appid . ';identity=' . $identity . ';error=' . $error_code);
         }
         $logService->log('DEBUG C', 'Failed first attempt to respond by defender user ', 'code=' . $error_code, 'userManager');
         if (isset($tds)) {
             $ttxid = $tds->forumTasks_shortStartTx('RefreshToken', 'username='******';appid=' . $appid . ';identity=' . $identity . ';refresh_token=' . $refresh_token);
         }
         $token = refreshToken($refresh_token);
         //  $unds->refreshToken($identity);
         if (!$token) {
             if (isset($tds)) {
                 $tds->abortTx($ttxid, 'username='******';appid=' . $appid . ';identity=' . $identity . ';refresh_token=' . $refresh_token . ';error=' . $error);
             }
         } else {
             if (isset($tds)) {
                 $tds->completeTx($ttxid);
             }
             $unds->refreshAppUserToken($user['identity'], $appid);
             if (isset($tds)) {
                 $rtxid = $tds->forumTasks_shortStartTx('RespondToPost', 'username='******';appid=' . $appid . ';identity=' . $identity);
             }
             if (!respodToPost($token, $postid, $message, true)) {
                 if (isset($tds)) {
                     $tds->abortTx($rtxid, 'username='******';appid=' . $appid . ';identity=' . $identity . ';error=' . $error_code);
                 }
                 $logService->log('ERROR', 'Failed to respondToPost', 'Failed second attemt by defender user,giving up  code=' . $error_code, 'userManager');
             } else {
                 if (isset($tds)) {
                     $tds->completeTx($rtxid);
                 }
             }
         }
     } else {
         //if(isset($txid))
         $tds->completeTx($rtxid);
     }
 }
function updateUserStatus($userId, $newStatus)
{
    // first refresh token
    $refreshToken = refreshToken();
    $accessToken = getAccessTokenFromDatabase();
    $boxAppConfigArray = boxAppConfigArray();
    $endpoint = $boxAppConfigArray['apiBaseUrl'] . '/users/' . $userId;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $endpoint);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer ' . $accessToken));
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    $parametersArray = array('status' => $newStatus);
    $data_string = json_encode($parametersArray);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    $result = curl_exec($ch);
    $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    //$header = substr($result, 0, $header_size);
    $body = json_decode(substr($result, $header_size));
    //$header = substr($result, 0, $header_size);
    if (isset($body->errors)) {
        die(__CLASS__ . ':' . __LINE__);
    }
    return $body;
}
Exemple #10
0
<?php

require_once "common.php";
//capture code from auth
$code = $_GET["code"];
//construct POST object for access token fetch request
$postvals = array('grant_type' => 'authorization_code', 'client_id' => KEY, 'client_secret' => SECRET, 'code' => $code, 'redirect_uri' => CALLBACK_URL);
//get JSON access token object (with refresh_token parameter)
$token = json_decode(run_curl(ACCESS_TOKEN_ENDPOINT, 'POST', $postvals));
//set request headers for signed OAuth request
$headers = array("Accept: application/json");
//construct URI to fetch contact information for current user
$contact_url = "https://www.google.com/m8/feeds/contacts/default/full?oauth_token=" . $token->access_token;
//fetch profile of current user
$contacts = run_curl($contact_url, 'GET', $headers);
var_dump($contacts);
echo "<h1>REFRESHING TOKEN</h1>";
var_dump(refreshToken($token->refresh_token));