Esempio n. 1
0
<?php

include_once 'vdiskinit.php';
header('Content-Type: text/plain; charset=utf-8');
if ($vdiskLogedIn) {
    if ($tokenObj->expires_in - time() < VDISK_TOKEN_UPDATEOFFSET) {
        try {
            $newToken = $oauth2->getAccessToken('token', array('refresh_token' => $tokenObj->refresh_token, 'redirect_uri' => VDISK_CALLBACK_URL));
            saveToken($newToken);
            echo 'Token refreshed.';
        } catch (Exception $e) {
            echo 'Error:' . $e->getMessage();
        }
    } else {
        echo 'No need to update token.';
    }
} else {
    echo 'Error: No old token found. Please auth this app first.';
}
Esempio n. 2
0
require_once __DIR__ . "/getCurl.php";
require_once __DIR__ . "/../vendor/autoload.php";
function saveToken($token)
{
    $dotenv = new \Dotenv\Dotenv(__DIR__ . '/../');
    $dotenv->load();
    $tumblr = getenv('TUMBLR_ACCESS_TOKEN');
    $url = 'https://api.vk.com/method/users.get?access_token=' . $token;
    $response = json_decode(get_curl($url));
    if (!isset($response->error)) {
        $user_id = $response->response[0]->uid;
        $string = file_get_contents(__DIR__ . "/../.env");
        $envArr = explode("\n", $string);
        $envToken = explode('=', $envArr[0]);
        $envUID = explode('=', $envArr[1]);
        $envToken[1] = $token;
        $envUID[1] = $user_id;
        $string = $envToken[0] . '=' . $envToken[1] . "\n" . $envUID[0] . '=' . $envUID[1] . "\nTUMBLR_ACCESS_TOKEN=" . $tumblr;
        $fp = fopen(__DIR__ . '/../.env', 'w');
        fputs($fp, $string);
        fclose($fp);
        echo '<script>document.location.href = "http://localhost:8888";</script>';
        return true;
    } else {
        echo 'Error. Please check your access token<br>';
        echo '<a href="../index.php">Back</a>';
        return false;
    }
}
saveToken($_POST['access_token']);
 protected function checkToken($companyId)
 {
     $tokens = KeyValue::get(KEY_ACCESSTOKEN . $companyId);
     if ($tokens['expires_in'] + $tokens['last_modify'] < time()) {
         $refresh_tokens = $this->refreshToken($tokens['refresh_token']);
         if ($refresh_tokens != false) {
             $refresh_tokens['open_id'] = $tokens['open_id'];
             $refresh_tokens['is_open'] = $tokens['is_open'];
             saveToken($refresh_tokens);
             $tokens = $refresh_tokens;
         }
     }
     return $tokens;
 }
Esempio n. 4
0
<?php

header('Content-Type: text/plain; charset=UTF-8');
include_once 'vdiskinit.php';
session_start();
if (!isset($_SESSION['admin']) or !$_SESSION['admin']) {
    header('Location: options.php?command=login');
    exit;
}
if (isset($_REQUEST['code'])) {
    $keys = array();
    $keys['code'] = $_REQUEST['code'];
    $keys['redirect_uri'] = VDISK_CALLBACK_URL;
    try {
        $token = $oauth2->getAccessToken('code', $keys);
        saveToken($token);
        header('Location: options.php?command=list');
    } catch (Exception $e) {
        print_r($e->getMessage());
    }
}
 public function test_saveToken()
 {
     $this->assertNotFalse(saveToken('f2ad25eb4e781c6bf8617e255ca5d0c297bff3c55b27688cdf698d9a00651898aa8840555489f4519dde3'));
 }
<?php

require '../../lib.php';
$company_ids = KeyValue::get(KEY_APP_ALL_CORPORATION);
$model = new CSCorpModel();
$data = array();
foreach ($company_ids as $company_id) {
    $tokens = KeyValue::get(KEY_ACCESSTOKEN . $company_id);
    $result = $model->refreshToken($tokens['refresh_token']);
    if ($result != false) {
        $refresh_tokens = $result;
        $refresh_tokens['company_id'] = $tokens['company_id'];
        $refresh_tokens['is_open'] = $tokens['is_open'];
        saveToken($refresh_tokens);
    }
    $tokens_after = KeyValue::get(KEY_ACCESSTOKEN . $company_id);
    $data[$company_id]['刷新前'] = $tokens;
    $data[$company_id]['刷新结果'] = $result;
    $data[$company_id]['刷新后'] = $tokens_after;
}
OpenUtils::outputJson($data);
<?php

//sae_debug("in oath2/callback!!!!");
require '../../lib.php';
$ret = array('ret' => 0, 'msg' => '成功');
$oauth = OpenHelper::oauthCompany();
//默认会从Get参数中拿到code去获得companyToken
$result = $oauth->getCompanyToken();
if (OpenConfig::SAE_MODE) {
    $s = new SaeStorage();
    $s->upload(OpenConfig::SAE_DOMAIN, 'data.dat', '../../data.dat');
}
if ($result['ret'] == 0 && !empty($result['data'])) {
    $company_token = $result['data'];
    $company_token['status'] = 0;
    saveToken($company_token);
} else {
    $ret['ret'] = 1;
    $ret['msg'] = '失败';
}
if (OpenConfig::SAE_MODE) {
    ini_set('display_errors', 0);
    sae_debug(json_encode($ret));
    ini_set('display_errors', 1);
}
OpenUtils::outputJson($ret);