| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- require_once NSL_PATH . '/includes/oauth2.php';
- class NextendSocialProviderGoogleClient extends NextendSocialOauth2 {
- protected $access_token_data = array(
- 'access_token' => '',
- 'expires_in' => -1,
- 'created' => -1
- );
- private $accessType = 'offline';
- private $prompt = 'select_account';
- protected $scopes = array(
- 'email',
- 'profile'
- );
- protected $endpointAuthorization = 'https://accounts.google.com/o/oauth2/auth';
- protected $endpointAccessToken = 'https://accounts.google.com/o/oauth2/token';
- protected $endpointRestAPI = 'https://www.googleapis.com/oauth2/v2/';
- protected $defaultRestParams = array(
- 'alt' => 'json'
- );
- /**
- * @param string $access_token_data
- */
- public function setAccessTokenData($access_token_data) {
- $this->access_token_data = json_decode($access_token_data, true);
- }
- public function createAuthUrl() {
- $args = array(
- 'access_type' => urlencode($this->accessType)
- );
- if ($this->prompt != '') {
- $args['prompt'] = urlencode($this->prompt);
- }
- return add_query_arg($args, parent::createAuthUrl());
- }
- /**
- * @param string $prompt
- */
- public function setPrompt($prompt) {
- $this->prompt = $prompt;
- }
- /**
- * @param $response
- *
- * @throws Exception
- */
- protected function errorFromResponse($response) {
- if (isset($response['error']['message'])) {
- throw new Exception($response['error']['message']);
- }
- }
- }
|