diff --git a/src/Listeners/LogAuthAction.php b/src/Listeners/LogAuthAction.php index a69e7c2..c520e7a 100644 --- a/src/Listeners/LogAuthAction.php +++ b/src/Listeners/LogAuthAction.php @@ -21,7 +21,7 @@ public function handle($event, array $context = null): void DB::connection(config('authlog.database_connection'))->table(config('authlog.table_name'))->insert([ 'event_name' => class_basename($event), 'email' => $this->getEmailParameter($event), - 'user_id' => isset($event->user) ? $event->user->id : null, + 'user_id' => $this->getUserIdParameter($event), 'ip_address' => Request::ip(), 'user_agent' => Request::userAgent(), 'context' => is_array($context) ? json_encode($context) : null, @@ -41,4 +41,18 @@ private function getEmailParameter($event): ?string return null; } + + /** @param mixed $event */ + private function getUserIdParameter($event): ?string + { + if (isset($event->user)) { + return $event->user->id; + } + + if (Request::user()) { + return Request::user()->id; + } + + return null; + } }