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 <?php
namespace App\Events; namespace App\Listeners;
use App\User; use App\User;
use App\UserSetting; use App\UserSetting;
use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\SerializesModels;
class AuthLoginEvent class AuthLogin
{ {
use Dispatchable, InteractsWithSockets, SerializesModels;
/** /**
* Create a new event instance. * Create the event listener.
* *
* @return void * @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)) { if (empty($user->settings)) {
$settings = new UserSetting(); $settings = new UserSetting();
$settings->user_id = $user->id; $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 * @var array
*/ */
protected $listen = [ protected $listen = [
'App\Events\Event' => [ 'Illuminate\Auth\Events\Login' => [
'App\Listeners\EventListener', 'App\Listeners\AuthLogin',
], ],
'auth.login' => [ 'Illuminate\Auth\Events\Failed' => [
'App\Events\AuthLoginEvent', 'App\Listeners\LogFailedLogin',
], ],
]; ];