Line 16 | Line 16 |
---|
/** * Bitly OAuth service */
|
/** * Bitly OAuth service */
|
class bitly extends \phpbb\auth\provider\oauth\service\base
| class bitly 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_bitly_key'], 'secret' => $this->config['auth_oauth_bitly_secret'],
|
'key' => $this->config['auth_oauth_bitly_key'], 'secret' => $this->config['auth_oauth_bitly_secret'],
|
);
| ];
|
}
/**
| }
/**
|
Line 62 | Line 54 |
---|
{ if (!($this->service_provider instanceof \OAuth\OAuth2\Service\Bitly)) {
|
{ if (!($this->service_provider instanceof \OAuth\OAuth2\Service\Bitly)) {
|
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');
|
}
|
}
|
// This was a callback request from bitly, get the token
| try { // This was a callback request, get the token
|
$this->service_provider->requestAccessToken($this->request->variable('code', ''));
|
$this->service_provider->requestAccessToken($this->request->variable('code', ''));
|
| } catch (\OAuth\Common\Http\Exception\TokenResponseException $e) { throw new exception('AUTH_PROVIDER_OAUTH_ERROR_REQUEST'); }
|
|
|
| try {
|
// Send a request with it
|
// Send a request with it
|
$result = json_decode($this->service_provider->request('user/info'), true);
| $result = (array) json_decode($this->service_provider->request('user/info'), true); } catch (\OAuth\Common\Exception\Exception $e) { throw new exception('AUTH_PROVIDER_OAUTH_ERROR_REQUEST'); }
// Prevent SQL error if (!isset($result['data']['login'])) { throw new exception('AUTH_PROVIDER_OAUTH_RETURN_ERROR'); }
|
// Return the unique identifier returned from bitly return $result['data']['login'];
| // Return the unique identifier returned from bitly return $result['data']['login'];
|
Line 82 | Line 94 |
---|
{ if (!($this->service_provider instanceof \OAuth\OAuth2\Service\Bitly)) {
|
{ if (!($this->service_provider instanceof \OAuth\OAuth2\Service\Bitly)) {
|
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');
|
}
|
}
|
| try {
|
// Send a request with it
|
// Send a request with it
|
$result = json_decode($this->service_provider->request('user/info'), true);
| $result = (array) json_decode($this->service_provider->request('user/info'), true); } catch (\OAuth\Common\Exception\Exception $e) { throw new exception('AUTH_PROVIDER_OAUTH_ERROR_REQUEST'); }
|
|
|
// Return the unique identifier returned from bitly
| // Prevent SQL error if (!isset($result['data']['login'])) { throw new exception('AUTH_PROVIDER_OAUTH_RETURN_ERROR'); }
// Return the unique identifier
|
return $result['data']['login']; } }
| return $result['data']['login']; } }
|