В моем приложении есть логин Google+ с Laravel Socialite. Когда вход в систему сделан, у меня есть обратный вызов для подключения пользователя (я создаю ее в базе данных при необходимости).
Но я хочу ограничить соединение только с компанией (электронная почта, например, "example@company.com", поэтому только электронная почта с "company.com").
Могу ли я сделать это с Laravel Socialite? Я могу сделать проверку вручную в моем обратном вызове, но если Socialite может сделать это, лучше.
Спасибо
Мой обратный звонок:
public function handleProviderCallback($provider){
$user = Socialite::driver($provider)->user();
if ($user) {
$local_user = User::whereEmail($user->getEmail())->first();
// If we don't have a user create a new user
if (!$local_user) {
$fragment = explode(' ', $user->getName());
$local_user = User::create([
'first_name' => isset($fragment[0]) ? $fragment[0] : '',
'last_name' => isset($fragment[1]) ? $fragment[1] : '',
'email' => $user->getEmail(),
'last_seen' => Carbon::now(),
'password' => ''
]);
$local_user->roles()->attach(Role::whereName('User')->first());
}
auth()->login($local_user);
}
return redirect($this->redirectTo);
}