Google аутентификация не возвращает имя пользователя для некоторых пользователей - PullRequest
0 голосов
/ 14 сентября 2018

Аутентификация Google не возвращает имя пользователя для пользователей, у которых нет учетной записи Google+ в codeigniter.Это мой файл конфигурации Google;здесь я даю все детали приложения:

$config['google']['client_id']        = 'xxxxxxx';
$config['google']['client_secret']    = 'xxxxxxxxx';
$config['google']['redirect_uri']     = 'xxxxxxx';
$config['google']['application_name'] = 'Login to xxxxx';
$config['google']['api_key']          = '';
$config['google']['scopes']           = array('email');

Это мой помощник healper.in.Я вызываю API следующим образом:

$CI->config->load('google');
require APPPATH .'third_party/google-api-client/Google_Client.php';
require APPPATH .'third_party/google-api- 
client/contrib/Google_Oauth2Service.php';
$this->client = new Google_Client();
$this->client->setApplicationName($CI->config->item('application_name', 'google'));
$this->client->setClientId($CI->config->item('client_id', 'google'));
$this->client->setClientSecret($CI->config->item('client_secret', 'google'));
$this->client->setRedirectUri($CI->config->item('redirect_uri', 'google'));
$this->client->setDeveloperKey($CI->config->item('api_key', 'google'));
$this->client->setScopes($CI->config->item('scopes', 'google'));
$this->client->setAccessType('online');
$this->client->setApprovalPrompt('auto');
$this->oauth2 = new Google_Oauth2Service($this->client);
}
public function loginURL() {
return $this->client->createAuthUrl();
}
public function getAuthenticate() {
return $this->client->authenticate();
}
public function getAccessToken() {
return $this->client->getAccessToken();
}
public function setAccessToken() {
return $this->client->setAccessToken();
}
public function revokeToken() {
return $this->client->revokeToken();
}
public function getUserInfo() {
return $this->oauth2->userinfo->get();
}  

Это мой контроллер:

$auth = $this->google->getAuthenticate();  

Вот как я получаю токен доступа:

$gpInfo = $this->google->getUserInfo();
print_r($gpInfo);exit;

Вчера я получил это:

Array ( [id] => 105270387701232345676 [email] => myemail@gmail.com 
[verified_email] => 1 [name] => [given_name] => [family_name] => [picture] 
=> https://lh3.googleusercontent.com/- 
XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg )

Буду очень признателен за любой совет, который вы можете дать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...