Line 16 | Line 16 |
---|
/** * Twitter OAuth service */
|
/** * Twitter OAuth service */
|
class twitter extends \phpbb\auth\provider\oauth\service\base
| class twitter extends base
|
{
|
{
|
/** * phpBB config * * @var \phpbb\config\config */
| /** @var \phpbb\config\config */
|
protected $config;
|
protected $config;
|
/** * phpBB request * * @var \phpbb\request\request_interface */
| /** @var \phpbb\request\request_interface */
|
protected $request;
/**
|
protected $request;
/**
|
* Constructor
| * Constructor.
|
*
|
*
|
* @param \phpbb\config\config $config * @param \phpbb\request\request_interface $request
| * @param \phpbb\config\config $config Config object * @param \phpbb\request\request_interface $request Request object
|
*/ public function __construct(\phpbb\config\config $config, \phpbb\request\request_interface $request) {
|
*/ public function __construct(\phpbb\config\config $config, \phpbb\request\request_interface $request) {
|
$this->config = $config; $this->request = $request;
| $this->config = $config; $this->request = $request;
|
}
/**
| }
/**
|
Line 49 | Line 41 |
---|
*/ public function get_service_credentials() {
|
*/ public function get_service_credentials() {
|
return array(
| return [
|
'key' => $this->config['auth_oauth_twitter_key'], 'secret' => $this->config['auth_oauth_twitter_secret'],
|
'key' => $this->config['auth_oauth_twitter_key'], 'secret' => $this->config['auth_oauth_twitter_secret'],
|
);
| ];
|
}
/**
| }
/**
|
Line 62 | Line 54 |
---|
{ if (!($this->service_provider instanceof \OAuth\OAuth1\Service\Twitter)) {
|
{ if (!($this->service_provider instanceof \OAuth\OAuth1\Service\Twitter)) {
|
throw new \phpbb\auth\provider\oauth\service\exception('AUTH_PROVIDER_OAUTH_ERROR_INVALID_SERVICE_TYPE');
| throw new exception('AUTH_PROVIDER_OAUTH_ERROR_INVALID_SERVICE_TYPE');
|
}
$storage = $this->service_provider->getStorage();
|
}
$storage = $this->service_provider->getStorage();
|
| try { /** @var \OAuth\OAuth1\Token\TokenInterface $token */
|
$token = $storage->retrieveAccessToken('Twitter');
|
$token = $storage->retrieveAccessToken('Twitter');
|
$tokensecret = $token->getRequestTokenSecret();
| } catch (\OAuth\Common\Storage\Exception\TokenNotFoundException $e) { throw new exception('AUTH_PROVIDER_OAUTH_ERROR_REQUEST'); }
|
|
|
// This was a callback request from twitter, get the token
| $secret = $token->getRequestTokenSecret();
try { // This was a callback request, get the token
|
$this->service_provider->requestAccessToken( $this->request->variable('oauth_token', ''), $this->request->variable('oauth_verifier', ''),
|
$this->service_provider->requestAccessToken( $this->request->variable('oauth_token', ''), $this->request->variable('oauth_verifier', ''),
|
$tokensecret
| $secret
|
);
|
);
|
| } catch (\OAuth\Common\Http\Exception\TokenResponseException $e) { throw new exception('AUTH_PROVIDER_OAUTH_ERROR_REQUEST'); }
|
// Send a request with it
|
// Send a request with it
|
$result = json_decode($this->service_provider->request('account/verify_credentials.json'), true);
| $result = (array) json_decode($this->service_provider->request('account/verify_credentials.json'), true);
|
|
|
// Return the unique identifier returned from twitter
| // Return the unique identifier
|
return $result['id']; }
| return $result['id']; }
|
Line 90 | Line 99 |
---|
{ if (!($this->service_provider instanceof \OAuth\OAuth1\Service\Twitter)) {
|
{ if (!($this->service_provider instanceof \OAuth\OAuth1\Service\Twitter)) {
|
throw new \phpbb\auth\provider\oauth\service\exception('AUTH_PROVIDER_OAUTH_ERROR_INVALID_SERVICE_TYPE');
| throw new exception('AUTH_PROVIDER_OAUTH_ERROR_INVALID_SERVICE_TYPE');
|
}
// Send a request with it
|
}
// Send a request with it
|
$result = json_decode($this->service_provider->request('account/verify_credentials.json'), true);
| $result = (array) json_decode($this->service_provider->request('account/verify_credentials.json'), true);
|
|
|
// Return the unique identifier returned from twitter
| // Return the unique identifier
|
return $result['id']; } }
| return $result['id']; } }
|