Update Auth Events

This commit is contained in:
Daniel Supernault 2018-09-15 18:36:04 -06:00
parent c96ef86743
commit 8b08983c38
No known key found for this signature in database
GPG Key ID: 0DEF1C662C9033F7
3 changed files with 61 additions and 13 deletions

View File

@ -1,19 +1,16 @@
<?php
namespace App\Events;
namespace App\Listeners;
use App\User;
use App\UserSetting;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class AuthLoginEvent
class AuthLogin
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
* Create the event listener.
*
* @return void
*/
@ -22,8 +19,15 @@ class AuthLoginEvent
//
}
public function handle(User $user)
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handle($event)
{
$user = $event->user;
if (empty($user->settings)) {
$settings = new UserSetting();
$settings->user_id = $user->id;

View File

@ -0,0 +1,44 @@
<?php
namespace App\Listeners;
use App\AccountLog;
use App\User;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogFailedLogin
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handle($event)
{
$user = $event->user;
$request = request();
$log = new AccountLog();
$log->user_id = $user->id;
$log->item_id = $user->id;
$log->item_type = 'App\User';
$log->action = 'auth.failed';
$log->message = 'Failed login attempt';
$log->link = null;
$log->ip_address = $request->ip();
$log->user_agent = $request->userAgent();
$log->save();
}
}

View File

@ -13,11 +13,11 @@ class EventServiceProvider extends ServiceProvider
* @var array
*/
protected $listen = [
'App\Events\Event' => [
'App\Listeners\EventListener',
'Illuminate\Auth\Events\Login' => [
'App\Listeners\AuthLogin',
],
'auth.login' => [
'App\Events\AuthLoginEvent',
'Illuminate\Auth\Events\Failed' => [
'App\Listeners\LogFailedLogin',
],
];