Laravel светская - PullRequest
       2

Laravel светская

0 голосов
/ 05 октября 2019

В моем веб-приложении я использовал пакет аутентификации laravel и пакет социальной сети. Я перешел по ссылке https://www.youtube.com/watch?v=uavoKwhGBKI&t=932s, и она работает нормально. Короче говоря, если я регистрируюсь с помощью социальной сети, он выбирает имя пользователя и адрес электронной почты, но должен заполнять другие данные в виде DOB и пароля, но если я отправляю без заполнениячто он показывает ошибку 500, а если я регистрируюсь без социальной сети, то моя проверка работает нормально. Страница регистрации такая же.

1 Ответ

0 голосов
/ 06 октября 2019

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 , чтобы иметь возможность поддерживать это.

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