mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[feature/oauth] Pathing information for some services
PHPBB3-11673
This commit is contained in:
parent
e600596602
commit
4b1390ca31
1 changed files with 41 additions and 3 deletions
|
@ -133,8 +133,13 @@ class phpbb_auth_provider_oauth extends phpbb_auth_provider_base
|
||||||
$service->requestAccessToken( $_GET['code'] );
|
$service->requestAccessToken( $_GET['code'] );
|
||||||
|
|
||||||
// Send a request with it
|
// Send a request with it
|
||||||
$result = json_decode( $service->request('user/info'), true );
|
$path = $this->get_path($service_name);
|
||||||
|
if ($path)
|
||||||
|
{
|
||||||
|
$result = json_decode( $service->request($path), true );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Perform authentication
|
||||||
} else {
|
} else {
|
||||||
$url = $service->getAuthorizationUri();
|
$url = $service->getAuthorizationUri();
|
||||||
// TODO: modify $url for the appropriate return points
|
// TODO: modify $url for the appropriate return points
|
||||||
|
@ -250,14 +255,47 @@ class phpbb_auth_provider_oauth extends phpbb_auth_provider_base
|
||||||
* Returns the path desired of the service
|
* Returns the path desired of the service
|
||||||
*
|
*
|
||||||
* @param string $service_name
|
* @param string $service_name
|
||||||
* @return string|UriInterface
|
* @return string|UriInterface|null A null return means do not
|
||||||
|
* request additional information.
|
||||||
*/
|
*/
|
||||||
protected function get_path($service_name)
|
protected function get_path($service_name)
|
||||||
{
|
{
|
||||||
switch ($service_name)
|
switch ($service_name)
|
||||||
{
|
{
|
||||||
|
case 'bitly':
|
||||||
|
case 'tumblr':
|
||||||
|
$path = 'user/info';
|
||||||
|
break;
|
||||||
|
case 'box':
|
||||||
|
$path = '/users/me';
|
||||||
|
break;
|
||||||
|
case 'facebook':
|
||||||
|
$path = '/me';
|
||||||
|
break;
|
||||||
|
case 'FitBit':
|
||||||
|
$path = 'user/-/profile.json';
|
||||||
|
break;
|
||||||
|
case 'foursquare':
|
||||||
|
case 'instagram':
|
||||||
|
$path = 'users/self';
|
||||||
|
break;
|
||||||
|
case 'GitHub':
|
||||||
|
$path = 'user/emails';
|
||||||
|
break;
|
||||||
|
case 'google':
|
||||||
|
$path = 'https://www.googleapis.com/oauth2/v1/userinfo';
|
||||||
|
break;
|
||||||
|
case 'linkedin':
|
||||||
|
$path = '/people/~?format=json';
|
||||||
|
break;
|
||||||
|
case 'soundCloud':
|
||||||
|
$path = 'me.json';
|
||||||
|
break;
|
||||||
|
case 'twitter':
|
||||||
|
$path = 'account/verify_credentials.json';
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$path = '';
|
$path = null;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue