2015-02-18 3 views
0

Я загрузил PHP API Google, и я пробовал его с помощью сценария «войти в систему с Google». Все думают, что я отлично работаю. но я хочу также поле пароля, чтобы сохранить мою базу данных для дальнейшего входа в систему как обычный пользователь для моего веб-портала. я должен использовать следующий код:Войти с помощью Google с помощью библиотеки PHP API

$service = new Google_Service_Oauth2($client); 

if ($client->getAccessToken()) 
    { 
      //For logged in user, get details from google using access token 
      $user   = $service->userinfo->get(); 
      $user_id  = $user['id'];} 
//list all user details 
    echo '<pre>'; 
    print_r($user); 
    echo '</pre>'; 

и вывод $ пользователь:

Google_Service_Oauth2_Userinfoplus Object 
(
    [internal_gapi_mappings:protected] => Array 
     (
      [familyName] => family_name 
      [givenName] => given_name 
      [verifiedEmail] => verified_email 
     ) 

    [email] => [email protected] 
    [familyName] => man 
    [gender] => male 
    [givenName] => deadman 
    [hd] => 
    [id] => 123456789
    [link] => https://plus.google.com/101978174620808672845 
    [locale] => en-GB 
    [name] => dead man 
    [picture] => https://******************/photo.jpg 
    [verifiedEmail] => 1 
    [modelData:protected] => Array 
     (
      [verified_email] => 1 
      [given_name] => dead 
      [family_name] => man 
     ) 

    [processed:protected] => Array 
     (
     ) 

) 

как получить поле пароля от Google?

+0

Google не собирается вам этого. Если вы хотите, чтобы вы попросили пользователя, или создайте его автоматически и отправьте по электронной почте им. –

ответ

3

Весь смысл входа в Google - так вы не храните пароль для пользователя. Пользователь может использовать свои учетные данные Google для доступа к вашему сайту - Google проверяет их для вас и сообщает вам, кто является пользователем. (Помните, что аутентификация Google может даже не включать в себя пароль для хранения. Если у пользователя установлена ​​двухфакторная аутентификация, нет никакого пароля.)

Если вы хотите разрешить своим пользователям входить на ваш сайт без учетной записи Google или в дополнение к их учетной записи Google, вы можете запросить у них пароль для вашего сайта, но это полностью вне системы проверки подлинности Google.

Если вы считаете, что вам нужен пароль для доступа к информации пользователя в Google, вы этого не делаете. Для большинства служб вы должны использовать OAuth 2, который обеспечивает более безопасный способ для вас и ваших пользователей управлять тем, что вы можете делать, используя сервисы Google.

+0

Я принимаю вас, потому что вы отправляете меня в правильном направлении .. пожалуйста, посетите следующий сайт https://www.remind.com/, он будет входить в систему с учетной записью google и после этого входа пользователя в качестве обычного пользователя. – Ali

1

Вы не можете получить поле пароля пользователей в режиме авторизации google auth или anyother social auth. Это для безопасности пользователя. В консоли есть опция callback url. Пользователь перенаправляется на этот URL-адрес, если аутентификация google аутентифицирована.

Смежные вопросы