diff options
| author | Nathan Guse <nathaniel.guse@gmail.com> | 2013-09-12 22:56:54 -0500 |
|---|---|---|
| committer | Nathan Guse <nathaniel.guse@gmail.com> | 2013-09-12 22:56:54 -0500 |
| commit | bcb1392351c2da921f477b56ab2c0777e7bbf4fc (patch) | |
| tree | 154c1f820f4c9ef7197d04cee4b8ed1db599c874 /phpBB/phpbb/auth/provider/oauth/service/bitly.php | |
| parent | 65f52d7575a8a7fe83cbfe7c5f35215ef8fba5b0 (diff) | |
| parent | 12ede5f2a783bbdb8dc8ba9a94b4cd1ffa750e49 (diff) | |
| download | forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar.gz forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar.bz2 forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.tar.xz forums-bcb1392351c2da921f477b56ab2c0777e7bbf4fc.zip | |
Merge branch 'develop' of github.com:phpbb/phpbb3 into ticket/11816
# By Joseph Warner (187) and others
# Via Nathan Guse (6) and others
* 'develop' of github.com:phpbb/phpbb3: (195 commits)
[ticket/11828] Fix greedy operators in lexer
[ticket/11835] Fix ucp_auth_link adding in migration
[prep-release-3.0.12] Remove changelog entry for ticket that was not resolved.
[ticket/develop/11832] Fix path detection
[feature/oauth] Fix tabindex
[ticket/9550] Add the core.viewtopic_post_rowset_data event to viewtopic.php
[ticket/11829] Use report_closed to determine status in MCP report_details
[feature/oauth] Fix bug on ucp_auth_link related to error display
[feature/oauth] More small fixes
[feature/oauth] More minor changes from review
[feature/oauth] Fix small bug introduced by update in OAuth library
[feature/oauth] Fix small issues on ucp pages
[feature/oauth] Fix typo in OAuth logout method
[feature/oauth] Make token storage service ignorant
[feature/oauth] Update oauth::logout() to use clearAllTokens()
[feature/oauth] Update storage implementation due to inteface change
[feature/oauth] Update lusitanian/oauth to stable branch
[ticket/11822] Use namespace lookup order for asset loading
[feature/oauth] Update comment on oauth service exception
[feature/oauth] Forgot to remove placeholder comment
...
Conflicts:
phpBB/phpbb/template/twig/lexer.php
tests/template/template_test.php
Diffstat (limited to 'phpBB/phpbb/auth/provider/oauth/service/bitly.php')
| -rw-r--r-- | phpBB/phpbb/auth/provider/oauth/service/bitly.php | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/phpBB/phpbb/auth/provider/oauth/service/bitly.php b/phpBB/phpbb/auth/provider/oauth/service/bitly.php new file mode 100644 index 0000000000..3bafdd59ce --- /dev/null +++ b/phpBB/phpbb/auth/provider/oauth/service/bitly.php @@ -0,0 +1,98 @@ +<?php +/** +* +* @package auth +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + +/** +* Bitly OAuth service +* +* @package auth +*/ +class phpbb_auth_provider_oauth_service_bitly extends phpbb_auth_provider_oauth_service_base +{ + /** + * phpBB config + * + * @var phpbb_config + */ + protected $config; + + /** + * phpBB request + * + * @var phpbb_request + */ + protected $request; + + /** + * Constructor + * + * @param phpbb_config $config + * @param phpbb_request $request + */ + public function __construct(phpbb_config $config, phpbb_request $request) + { + $this->config = $config; + $this->request = $request; + } + + /** + * {@inheritdoc} + */ + public function get_service_credentials() + { + return array( + 'key' => $this->config['auth_oauth_bitly_key'], + 'secret' => $this->config['auth_oauth_bitly_secret'], + ); + } + + /** + * {@inheritdoc} + */ + public function perform_auth_login() + { + if (!($this->service_provider instanceof \OAuth\OAuth2\Service\Bitly)) + { + throw new phpbb_auth_provider_oauth_service_exception('AUTH_PROVIDER_OAUTH_ERROR_INVALID_SERVICE_TYPE'); + } + + // This was a callback request from bitly, get the token + $this->service_provider->requestAccessToken($this->request->variable('code', '')); + + // Send a request with it + $result = json_decode($this->service_provider->request('user/info'), true); + + // Return the unique identifier returned from bitly + return $result['data']['login']; + } + + /** + * {@inheritdoc} + */ + public function perform_token_auth() + { + if (!($this->service_provider instanceof \OAuth\OAuth2\Service\Bitly)) + { + throw new phpbb_auth_provider_oauth_service_exception('AUTH_PROVIDER_OAUTH_ERROR_INVALID_SERVICE_TYPE'); + } + + // Send a request with it + $result = json_decode($this->service_provider->request('user/info'), true); + + // Return the unique identifier returned from bitly + return $result['data']['login']; + } +} |
