*/ 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>"; }
* @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>"; }