Социально аутентифицированный пользователь, использующий laravel Auth

Я сохраняю данные пользователя социальной аутентификации в User (подлинная) модель, и войдите в систему пользователя. Так что я могу использовать функции Auth,

Функция обратного вызова:

public function callback()
{
$user = Socialite::driver('facebook')->user();

$newUser=new User();
$newUser->name=$user->name;
$newUser->email=$user->email;
$newUser->remember_token=$user->token;
$newUser->save();

Auth::login($newUser, true);
return redirect('/');
}

Но потом я понимаю, что любой может войти в систему, используя только имя пользователя со встроенным логином, обычную форму входа в систему, если проверка пароля не требуется, поскольку мы не храним пароль facebook в нашей базе данных приложения. и пароль будет НЕДЕЙСТВИТЕЛЕН в этом случае.

Я думаю об удалении данных пользователя после выхода пользователя из системы.

public function logout()
{
User::find(Auth::user()->id)->delete();
Auth::logout();
return redirect('/')->with('message','logged out!');
}

Это не выглядит так хорошо. Как правильно или лучше использовать социально аутентифицированного пользователя? Auth?

0

Решение

Это означает, что вы не понимаете жизненный цикл API тщательно.
Перенаправьте пользователя на страницу Facebook, чтобы он принял вашу заявку и вошел в систему. После того, как facebook предоставит данные пользователя и сохранит их, fb_id, email, phone и т. Д., Затем создайте их. В следующий раз, когда они войдут в систему, убедитесь, что fb_id соответствует возвращенному от пользователя логину. Поэтому удаление пользователя после регистрации не имеет смысла.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]