2016-07-22 4 views
0

Я использую API Google PHP для аутентификации пользователя. Я хотел бы ограничить доступ на вход к определенным доменам электронной почты, например, только пользователи с адресом электронной почты @ thedomain.com могут войти в систему.Ограничение имени пользователя OAuth для определенного домена электронной почты

Я пробовал установить hd parameter, как и предлагалось, без везения. Я также заметил, что возвращаемый $client = new Google_Client(); объект возвращает пустую строку для ["hd"]=> string(0) ""

Проверки email domain after authentication может быть жизнеспособными, но я упал, как должна быть методом в API Google.

У кого-нибудь есть идеи или предложения?

ответ

0

Законченный с использованием hd объект, который требует создания экземпляра нового $service

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { 
     $client->setAccessToken($_SESSION['access_token']); 
     // create service to pull userinfo 
     $service = new Google_Service_Oauth2($client); 
     $user = $service->userinfo->get(); 
     $userHd = $user['hd']; 
     if ($userHd === 'thedomain.com') { 
      // log the user in 
     }