1. Go to this page and download the library: Download bigfork/silverstripe-oauth library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bigfork / silverstripe-oauth example snippets
use Bigfork\SilverStripeOAuth\Client\Helper\Helper;
// Build a URL for fetching a Facebook access token with the 2%5D=user_events
$url = Helper::buildAuthorisationUrl('Facebook', 'import_events', ['user_events']);
echo "<a href=" . $url . ">Import events from Facebook</a>";
use Bigfork\SilverStripeOAuth\Client\Handler\TokenHandler;
use League\OAuth2\Client\Provider\Facebook;
use League\OAuth2\Client\Token\AccessToken;
class ImportEventsHandler implements TokenHandler
{
public function handleToken(AccessToken $token, Facebook $provider)
{
$baseUrl = 'https://graph.facebook.com/v2.8';
$params = http_build_query([
'fields' => 'id,name,start_time',
'limit' => '5',
'access_token' => $token->getToken(),
'appsecret_proof' => hash_hmac('sha256', $token->getToken(), '{facebook-app-secret}'),
]);
$response = file_get_contents($baseUrl.'/me/events?'.$params);
$data = json_decode($response, true);
$this->importEvents($data);
}
}
use Exception;
use League\OAuth2\Client\Provider\AbstractProvider;
use SilverStripe\Control\HTTPRequest;
use SilverStripe\Security\Security;
class ImportEventsErrorHandler implements ErrorHandler
{
public function handleError(AbstractProvider $provider, HTTPRequest $request, Exception $exception)
{
if ($request->getVar('error_message')) {
return Security::permissionFailure(null, $request->getVar('error_message'));
}
}
}