Socialite дает вам доступ только к выбранному набору данных, полученных при успешном подключении.
# Получение информации о пользователе
https://laravel.com/docs/6.x/socialite#retrieving-user-details
$user = Socialite::driver('github')->user();
// OAuth Two Providers
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;
// OAuth One Providers
$token = $user->token;
$tokenSecret = $user->tokenSecret;
// All Providers
$user->getId();
$user->getNickname();
$user->getName();
$user->getEmail();
$user->getAvatar();
# Изменение LoginController
https://scqq.blogspot.com/2017/11/laravel-55-socialite-login-with-twitter.html
Это руководство, которое вы выполнили, фактически не регистрирует пользователя в социальной платформе. Он только предварительно заполняет форму регистрации Laravel по умолчанию полями name
и email
, как показано ниже. Здесь вы можете добавить другое свойство сверху, например, аватар пользователя, если хотите. Вам также необходимо добавить соответствующее поле в регистрационную форму.
return view('auth.register', [
'name' => $userSocial->getName(),
'email' => $userSocial->getEmail(),
// ... 'avatar' => $userSocial->getAvatar(),
]);
Google НИКОГДА не собирается давать вам чей-либо пароль!
Весь смысл Socialite состоит в том, чтобы разрешитьGoogle (или выбранный поставщик) для аутентификации пользователя, а не вашего приложения.
Если вы действительно хотите зарегистрировать пользователя в Socialite (без каких-либо дополнительных форм или установки пароля), вам нужно будет изменить или расширить RegisterController.php , чтобы иметь возможность поддерживать это.