Beispiel #1
0
<?php

date_default_timezone_set('UTC');
header("Content-Type: text/html; charset=UTF-8");
mb_internal_encoding("UTF-8");
$settings['mwOAuthAuthorizeUrl'] = 'https://www.mediawiki.org/wiki/Special:OAuth/authorize';
$settings['mwOAuthUrl'] = 'https://www.mediawiki.org/w/index.php?title=Special:OAuth';
$settings['mwOAuthIW'] = 'mw';
$settings['apiUrl'] = 'https://id.wikipedia.org/w/api.php';
$settings['errorCode'] = 200;
$settings['gUserAgent'] = "";
$settings['gConsumerKey'] = "";
$settings['gConsumerSecret'] = "";
include "secret.php";
$settings['gTokenKey'] = '';
$settings['gTokenSecret'] = '';
$settings['loggedinUsername'] = '';
$settings['userCanDelete'] = '';
session_start();
if (isset($_SESSION['tokenKey'])) {
    $settings['gTokenKey'] = $_SESSION['tokenKey'];
    $settings['gTokenSecret'] = $_SESSION['tokenSecret'];
    if (isset($_SESSION['loggedinUsername'])) {
        $settings['loggedinUsername'] = $_SESSION['loggedinUsername'];
        $settings['userCanDelete'] = $_SESSION['userCanDelete'];
    }
}
session_write_close();
if (isset($_GET['oauth_verifier']) && $_GET['oauth_verifier']) {
    fetch_access_token();
}
<?php

include 'vars.php';
include SECRET_FILE;
// include ROOT.'/shared/errors.php';
$shortTermAccessToken = fetch_access_token(SHORT_TERM_TOKEN_FILE);
echo "<br/> Extended Access Token [" . extend_access_token($shortTermAccessToken) . ']';
function fetch_access_token($path)
{
    $access_token_file = fopen($path, "a+") or die("Unable to open file! [" . $path . "]");
    $size = filesize($path);
    if ($size > 0) {
        $access_token = fread($access_token_file, $size);
    } else {
        $msg = 'invalid access token';
        throw new Exception($msg);
    }
    fclose($access_token_file);
    return $access_token;
}
function extend_access_token($short_term_access_token)
{
    // https://developers.facebook.com/docs/facebook-login/access-tokens#extending
    $encoded_app_id = urlencode(FB_APP_ID);
    $encoded_app_secret = urlencode(FB_APP_SECRET);
    $base_url = HOST . "/oauth/access_token?";
    $params = array('grant_type' => 'fb_exchange_token', 'client_id' => $encoded_app_id, 'client_secret' => $encoded_app_secret, 'fb_exchange_token' => $short_term_access_token);
    $formed_params = http_build_query($params);
    $formed_url = $base_url . $formed_params;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $formed_url);