Example #1
0
 */
require_once __DIR__ . '/bootstrap.php';
// Session storage
$storage = new Session();
// Setup the credentials for the requests
$credentials = new Credentials($servicesCredentials['google']['key'], $servicesCredentials['google']['secret'], $currentUri);
// Instantiate the Google service using the credentials, http client and storage mechanism for the token
/** @var Google $googleService */
$googleService = $serviceFactory->createService('google', $credentials, $storage, [Google::SCOPE_USERINFO_EMAIL, Google::SCOPE_USERINFO_PROFILE]);
if (!empty($_GET['clear']) && $_GET['clear'] === 'clear') {
    $googleService->getStorage()->clearToken($googleService->service());
    header("Location: {$currentUri}", true);
} elseif ($googleService->isGlobalRequestArgumentsPassed() or $googleService->getStorage()->hasAccessToken($googleService->service())) {
    if (!$googleService->getStorage()->hasAccessToken($googleService->service())) {
        $googleService->retrieveAccessTokenByGlobReqArgs();
    }
    // Retrieve a token and send a request
    $result = $googleService->requestJSON('https://www.googleapis.com/oauth2/v1/userinfo');
    // Show some of the resultant data
    echo 'Your unique google user id is: ' . $result['id'] . ' and your name is ' . $result['name'];
    echo '<br />';
    $extractor = $googleService->constructExtractor();
    echo 'Your extracted email is a: ' . $extractor->getEmail() . ', ' . '<br>and image: ' . inline_image($extractor->getImageRawData(50));
    echo '<br />';
    echo '<br />';
    echo "<a href='{$currentUri}?clear=clear'>Clear offline access token</a>";
} elseif (!empty($_GET['go']) && $_GET['go'] === 'go') {
    $googleService->setAccessType('offline')->redirectToAuthorizationUri();
} else {
    echo "<a href='{$currentUri}?go=go'>Login with Google!</a>";
}
Example #2
0
 * @author     And <*****@*****.**>
 * @copyright  Copyright (c) 2014 The authors
 * @license    http://www.opensource.org/licenses/mit-license.html  MIT License
 */
use OAuth\Common\Consumer\Credentials;
use OAuth\Common\Storage\Session;
use OAuth\OAuth2\Service\Vkontakte;
/**
 * Bootstrap the example
 */
require_once __DIR__ . '/bootstrap.php';
// Session storage
$storage = new Session();
// Setup the credentials for the requests
$credentials = new Credentials($servicesCredentials['vkontakte']['key'], $servicesCredentials['vkontakte']['secret'], $currentUri);
// Instantiate the VKontakte service using the credentials, http client and storage mechanism for the token
/** @var $vkService Vkontakte */
$vkService = $serviceFactory->createService('vkontakte', $credentials, $storage, [Vkontakte::SCOPE_EMAIL]);
if ($vkService->isGlobalRequestArgumentsPassed()) {
    // Retrieve a token and send a request
    $result = $vkService->retrieveAccessTokenByGlobReqArgs()->requestJSON('users.get.json');
    // Show some of the resultant data
    echo 'Your unique user id is: ' . $result['response'][0]['uid'] . ' and your first name is ' . $result['response'][0]['first_name'];
    echo '<br />';
    $extractor = $vkService->constructExtractor();
    echo 'Your extracted url is a: ' . '<a target="_blank" href="' . $extractor->getProfileUrl() . '">' . $extractor->getProfileUrl() . '</a>, ' . 'city is a: ' . $extractor->getLocation()['name'] . ',' . '<br> and image: <br>' . inline_image($extractor->getImageRawData(200));
} elseif (!empty($_GET['go']) && $_GET['go'] === 'go') {
    $vkService->redirectToAuthorizationUri();
} else {
    echo "<a href='{$currentUri}?go=go'>Login with VKontakte!</a>";
}