/home/smartbloks/public_html/new/wp-content/plugins/mailoptin/vendor/mailoptin/authifly/Google.php
<?php
namespace Authifly\Provider;
use Authifly\Adapter\OAuth2;
use Authifly\User;
/**
* Google OAuth2 provider adapter.
*
* Example:
*
* $config = [
* 'callback' => Authifly\HttpClient\Util::getCurrentUrl(),
* 'keys' => ['id' => '', 'secret' => ''],
* 'scope' => 'https://www.googleapis.com/auth/userinfo.profile',
*
* // google's custom auth url params
* 'authorize_url_parameters' => [
* 'approval_prompt' => 'force', // to pass only when you need to acquire a new refresh token.
* 'access_type' => .., // is set to 'offline' by default
* 'hd' => ..,
* 'state' => ..,
* // etc.
* ]
* ];
*
* $adapter = new Authifly\Provider\Google($config);
*
* try {
* $adapter->authenticate();
*
* $userProfile = $adapter->getUserProfile();
* $tokens = $adapter->getAccessToken();
* $contacts = $adapter->getUserContacts(['max-results' => 75]);
* } catch (\Exception $e) {
* echo $e->getMessage() ;
* }
*/
class Google extends OAuth2
{
/**
* {@inheritdoc}
*/
// phpcs:ignore
protected $scope = 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email';
/**
* {@inheritdoc}
*/
public $apiBaseUrl = 'https://www.googleapis.com/';
/**
* {@inheritdoc}
*/
protected $authorizeUrl = 'https://accounts.google.com/o/oauth2/v2/auth';
/**
* {@inheritdoc}
*/
protected $accessTokenUrl = 'https://oauth2.googleapis.com/token';
/**
* {@inheritdoc}
*/
protected $apiDocumentation = 'https://developers.google.com/identity/protocols/OAuth2';
protected $supportRequestState = false;
/**
* {@inheritdoc}
*/
protected function initialize()
{
parent::initialize();
$this->AuthorizeUrlParameters += [
'access_type' => 'offline',
'prompt' => 'select_account consent'
];
if ($this->isRefreshTokenAvailable()) {
$this->tokenRefreshParameters += [
'client_id' => $this->clientId,
'client_secret' => $this->clientSecret,
];
}
}
}