Commit d6f35f07 by Paul Klimov

OAuth classes refactored.

parent 7a4c1cd3
......@@ -36,19 +36,19 @@ abstract class BaseOAuth extends BaseClient implements ClientInterface
* Note: this should be absolute URL (with http:// or https:// leading).
* By default current URL will be used.
*/
private $_returnUrl = '';
private $_returnUrl;
/**
* @var string API base URL.
*/
public $apiBaseUrl = '';
public $apiBaseUrl;
/**
* @var string authorize URL.
*/
public $authUrl = '';
public $authUrl;
/**
* @var string auth request scope.
*/
public $scope = '';
public $scope;
/**
* @var array cURL request options. Option values from this field will overwrite corresponding
* values from {@link defaultCurlOptions()}.
......@@ -57,7 +57,7 @@ abstract class BaseOAuth extends BaseClient implements ClientInterface
/**
* @var OAuthToken|array access token instance or its array configuration.
*/
private $_accessToken = null;
private $_accessToken;
/**
* @var signature\BaseMethod|array signature method instance or its array configuration.
*/
......@@ -76,7 +76,7 @@ abstract class BaseOAuth extends BaseClient implements ClientInterface
*/
public function getReturnUrl()
{
if (empty($this->_returnUrl)) {
if ($this->_returnUrl === null) {
$this->_returnUrl = $this->defaultReturnUrl();
}
return $this->_returnUrl;
......
......@@ -40,15 +40,15 @@ class OAuth1 extends BaseOAuth
/**
* @var string OAuth consumer key.
*/
public $consumerKey = '';
public $consumerKey;
/**
* @var string OAuth consumer secret.
*/
public $consumerSecret = '';
public $consumerSecret;
/**
* @var string OAuth request token URL.
*/
public $requestTokenUrl = '';
public $requestTokenUrl;
/**
* @var string request token HTTP method.
*/
......@@ -56,7 +56,7 @@ class OAuth1 extends BaseOAuth
/**
* @var string OAuth access token URL.
*/
public $accessTokenUrl = '';
public $accessTokenUrl;
/**
* @var string access token HTTP method.
*/
......@@ -179,7 +179,7 @@ class OAuth1 extends BaseOAuth
$curlOptions[CURLOPT_POSTFIELDS] = $params;
}
$authorizationHeader = $this->composeAuthorizationHeader($params);
if (!empty($authorizationHeader)/* && $this->curlAuthHeader*/) {
if (!empty($authorizationHeader)) {
$curlOptions[CURLOPT_HTTPHEADER] = ['Content-Type: application/atom+xml', $authorizationHeader];
}
break;
......
......@@ -40,15 +40,15 @@ class OAuth2 extends BaseOAuth
/**
* @var string OAuth client ID.
*/
public $clientId = '';
public $clientId;
/**
* @var string OAuth client secret.
*/
public $clientSecret = '';
public $clientSecret;
/**
* @var string token request URL endpoint.
*/
public $tokenUrl = '';
public $tokenUrl;
/**
* Composes user authorization URL.
......
......@@ -24,23 +24,27 @@ class GoogleOAuth extends OAuth2
/**
* @inheritdoc
*/
public function __construct($config = [])
public $authUrl = 'https://accounts.google.com/o/oauth2/auth';
/**
* @inheritdoc
*/
public $tokenUrl = 'https://accounts.google.com/o/oauth2/token';
/**
* @inheritdoc
*/
public $apiBaseUrl = 'https://www.googleapis.com/oauth2/v1';
/**
* @inheritdoc
*/
public function init()
{
$config = array_merge(
[
'clientId' => 'anonymous',
'clientSecret' => 'anonymous',
'authUrl' => 'https://accounts.google.com/o/oauth2/auth',
'tokenUrl' => 'https://accounts.google.com/o/oauth2/token',
'apiBaseUrl' => 'https://www.googleapis.com/oauth2/v1',
'scope' => implode(' ', [
if ($this->scope === null) {
$this->scope = implode(' ', [
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/userinfo.email',
]),
],
$config
);
parent::__construct($config);
]);
}
}
/**
......
......@@ -24,24 +24,27 @@ class Twitter extends OAuth1
/**
* @inheritdoc
*/
public function __construct($config = [])
{
$config = array_merge(
[
'consumerKey' => 'anonymous',
'consumerSecret' => 'anonymous',
'requestTokenUrl' => 'https://api.twitter.com/oauth/request_token',
'requestTokenMethod' => 'POST',
'accessTokenUrl' => 'https://api.twitter.com/oauth/access_token',
'accessTokenMethod' => 'POST',
'authUrl' => 'https://api.twitter.com/oauth/authorize',
'scope' => '',
'apiBaseUrl' => 'https://api.twitter.com/1.1',
],
$config
);
parent::__construct($config);
}
public $authUrl = 'https://api.twitter.com/oauth/authorize';
/**
* @inheritdoc
*/
public $requestTokenUrl = 'https://api.twitter.com/oauth/request_token';
/**
* @inheritdoc
*/
public $requestTokenMethod = 'POST';
/**
* @inheritdoc
*/
public $accessTokenUrl = 'https://api.twitter.com/oauth/access_token';
/**
* @inheritdoc
*/
public $accessTokenMethod = 'POST';
/**
* @inheritdoc
*/
public $apiBaseUrl = 'https://api.twitter.com/1.1';
/**
* @inheritdoc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment