Beispiel #1
0
function makeSubscriptionRequest($config, $topic, $fwd, $accessToken = null)
{
    $subscriptionUrl = sprintf('%s/index.php?subscriptions', $config['api_root']);
    $callbackUrl = sprintf('%s/subscriptions.php?fwd=%s', rtrim(preg_replace('#index.php$#', '', getBaseUrl()), '/'), rawurlencode($fwd));
    $postFields = array('hub.callback' => $callbackUrl, 'hub.mode' => !empty($accessToken) ? 'subscribe' : 'unsubscribe', 'hub.topic' => $topic, 'oauth_token' => $accessToken, 'client_id' => $config['api_key']);
    return array('response' => makeCurlPost($subscriptionUrl, $postFields, false));
}
Beispiel #2
0
         $message .= '<br />Afterwards, you can test JavaScript by clicking the link below.';
         break;
     }
     // step 4
     $json = makeCurlPost($tokenUrl, $postFields);
     $message = renderAccessTokenMessage($tokenUrl, $json);
     break;
 case 'refresh':
     // this is the refresh token flow
     if (empty($_REQUEST['refresh_token'])) {
         $message = 'Refresh request must have `refresh_token` query parameter!';
         break;
     }
     $tokenUrl = sprintf('%s/index.php?oauth/token', $config['api_root']);
     $postFields = array('grant_type' => 'refresh_token', 'client_id' => $config['api_key'], 'client_secret' => $config['api_secret'], 'refresh_token' => $_REQUEST['refresh_token']);
     $json = makeCurlPost($tokenUrl, $postFields);
     $message = renderAccessTokenMessage($tokenUrl, $json);
     break;
 case 'request':
     // step 5
     if (!empty($accessToken) && !empty($_REQUEST['url'])) {
         list($body, $json) = makeRequest($_REQUEST['url'], $config['api_root'], $accessToken);
         if (empty($json)) {
             $message = 'Unexpected response from server: ' . var_export($body, true);
         } else {
             $message = renderMessageForJson($_REQUEST['url'], $json);
             if ($_REQUEST['url'] === 'users/me') {
                 $topic = 'user_notification_' . $json['user']['user_id'];
             }
         }
     }
Beispiel #3
0
<?php

require_once 'functions.php';
require_once 'jwt_functions.php';
$config = loadConfiguration();
if (empty($config['api_root'])) {
    displaySetup();
}
if (!empty($_REQUEST['action']) && $_REQUEST['action'] == 'obtain' && !empty($_REQUEST['private_key'])) {
    $assertion = generateJwtAssertion($_REQUEST['private_key'], $config['api_key'], !empty($_REQUEST['user_id']) ? intval($_REQUEST['user_id']) : 0, $config['api_root']);
    $url = sprintf('%s/index.php?oauth/token', $config['api_root']);
    $json = makeCurlPost($url, array('grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', 'assertion' => $assertion));
    $message = renderMessageForJson('obtain', $json);
    if (!empty($json['access_token'])) {
        $accessToken = $json['access_token'];
    }
}
?>

<?php 
require 'html/header.php';
?>

    <h3>JWT Bearer Grant Type</h3>

	<?php 
if (!empty($message)) {
    ?>
    	<div class="message"><?php 
    echo $message;
    ?>
Beispiel #4
0
<?php

require_once 'functions.php';
if (!empty($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'GET') {
    if (!empty($_REQUEST['hub_challenge'])) {
        // intent verification, just echo back the challenge
        die($_REQUEST['hub_challenge']);
    }
} elseif (!empty($_REQUEST['fwd'])) {
    // real callback
    $contents = file_get_contents('php://input');
    makeCurlPost($_REQUEST['fwd'], $contents);
}