По сути, вам нужен любой способ определения того, что вы уже сохранили информацию об этом пользователе. DB , сеанс или даже объект auth () -> user () ( этот зависит от варианта использования ) можетсохранить эти данные.
Взять пример сеанса:
Broadcast::channel('chat', function ($user) {
$ip = Request::ip();
$time = now();
if (auth()->check() && !session()->has('user_id')){
UserInfo::storeUser();
session()->put('user_id',$user->id);
return [
'id' => $user->id,
'ip' => $ip,
'name' => $user->name,
'joined' => $time
];
}
});
и при выходе из системы:
session()->forget('user_id')
Имейте в виду, это базовый пример без особого контекста.