2013-03-20 15:37:07 +04:00
|
|
|
<?php
|
2013-01-29 20:06:24 +04:00
|
|
|
|
2013-05-28 14:00:24 +04:00
|
|
|
namespace League\OAuth2\Client\Provider;
|
2013-03-20 15:37:07 +04:00
|
|
|
|
2014-04-28 19:44:39 +04:00
|
|
|
class Google extends AbstractProvider
|
2013-01-29 20:06:24 +04:00
|
|
|
{
|
2014-02-02 02:59:40 +04:00
|
|
|
public $scopeSeparator = ' ';
|
2013-01-29 20:06:24 +04:00
|
|
|
|
2013-03-25 15:00:49 +04:00
|
|
|
public $scopes = array(
|
2013-03-20 15:37:07 +04:00
|
|
|
'https://www.googleapis.com/auth/userinfo.profile',
|
|
|
|
'https://www.googleapis.com/auth/userinfo.email'
|
|
|
|
);
|
2013-01-29 20:06:24 +04:00
|
|
|
|
2013-03-20 15:37:07 +04:00
|
|
|
public function urlAuthorize()
|
2013-01-29 20:08:47 +04:00
|
|
|
{
|
|
|
|
return 'https://accounts.google.com/o/oauth2/auth';
|
|
|
|
}
|
2013-01-29 20:06:24 +04:00
|
|
|
|
2013-03-20 15:37:07 +04:00
|
|
|
public function urlAccessToken()
|
2013-01-29 20:08:47 +04:00
|
|
|
{
|
|
|
|
return 'https://accounts.google.com/o/oauth2/token';
|
|
|
|
}
|
2013-01-29 20:06:24 +04:00
|
|
|
|
2013-08-18 15:21:48 +04:00
|
|
|
public function urlUserDetails(\League\OAuth2\Client\Token\AccessToken $token)
|
2013-01-29 20:08:47 +04:00
|
|
|
{
|
2013-03-20 15:37:07 +04:00
|
|
|
return 'https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token='.$token;
|
2013-01-29 20:08:47 +04:00
|
|
|
}
|
|
|
|
|
2013-08-18 15:21:48 +04:00
|
|
|
public function userDetails($response, \League\OAuth2\Client\Token\AccessToken $token)
|
2013-01-29 20:08:47 +04:00
|
|
|
{
|
2013-03-25 15:00:49 +04:00
|
|
|
$response = (array) $response;
|
2013-03-20 15:37:07 +04:00
|
|
|
$user = new User;
|
|
|
|
$user->uid = $response['id'];
|
|
|
|
$user->name = $response['name'];
|
2013-09-27 13:49:45 +04:00
|
|
|
$user->firstName = $response['given_name'];
|
|
|
|
$user->lastName = $response['family_name'];
|
2013-03-20 15:37:07 +04:00
|
|
|
$user->email = $response['email'];
|
2014-01-17 18:42:53 +04:00
|
|
|
$user->imageUrl = (isset($response['picture'])) ? $response['picture'] : null;
|
2014-04-24 08:34:10 +04:00
|
|
|
|
2013-03-20 15:37:07 +04:00
|
|
|
return $user;
|
2013-01-29 20:08:47 +04:00
|
|
|
}
|
2013-09-14 06:38:58 +04:00
|
|
|
|
|
|
|
public function userUid($response, \League\OAuth2\Client\Token\AccessToken $token)
|
|
|
|
{
|
|
|
|
return $response->id;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function userEmail($response, \League\OAuth2\Client\Token\AccessToken $token)
|
|
|
|
{
|
|
|
|
return isset($response->email) && $response->email ? $response->email : null;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function userScreenName($response, \League\OAuth2\Client\Token\AccessToken $token)
|
|
|
|
{
|
|
|
|
return array($response->given_name, $response->family_name);
|
|
|
|
}
|
2013-01-29 20:06:24 +04:00
|
|
|
}
|