Package

Yadahan Laravel Authentication Log

Laravel Authentication Log provides authentication logger and notification for Laravel.

Package

yadahan/laravel-authentication-log

View on GitHub →

Laravel Authentication Log

Installation

Laravel Authentication Log requires Laravel 5.5 or higher, and PHP 7.0+.

You may use Composer to install Laravel Authentication Log into your Laravel project:

composer require yadahan/laravel-authentication-log

Configuration

After installing the Laravel Authentication Log, publish its config, migration and view, using the vendor:publish Artisan command:

php artisan vendor:publish --provider="Yadahan\AuthenticationLog\AuthenticationLogServiceProvider"

Next, you need to migrate your database. The Laravel Authentication Log migration will create the table your application needs to store authentication logs:

php artisan migrate

Finally, add the AuthenticationLogable and Notifiable traits to your authenticatable model (by default, App\User model). These traits provides various methods to allow you to get common authentication log data, such as last login time, last login IP address, and set the channels to notify the user when login from a new device:

use Illuminate\Notifications\Notifiable;
use Yadahan\AuthenticationLog\AuthenticationLogable;
use Illuminate\Foundation\Auth\User as Authenticatable;
 
class User extends Authenticatable
{
use Notifiable, AuthenticationLogable;
}

Basic Usage

Get all authentication logs for the user:

User::find(1)->authentications;

Get the user last login info:

User::find(1)->lastLoginAt();
 
User::find(1)->lastLoginIp();

Get the user previous login time & ip address (ignoring the current login):

auth()->user()->previousLoginAt();
 
auth()->user()->previousLoginIp();

Notify login from a new device

Notifications may be sent on the mail, nexmo, and slack channels. By default notify via email.

You may define notifyAuthenticationLogVia method to determine which channels the notification should be delivered on:

/**
* The Authentication Log notifications delivery channels.
*
* @return array
*/
public function notifyAuthenticationLogVia()
{
return ['nexmo', 'mail', 'slack'];
}

Of course you can disable notification by set the notify option in your config/authentication-log.php configuration file to false:

'notify' => env('AUTHENTICATION_LOG_NOTIFY', false),

Clear old logs

You may clear the old authentication log records using the authentication-log:clear Artisan command:

php artisan authentication-log:clear

Records that is older than the number of days specified in the older option in your config/authentication-log.php will be deleted:

'older' => 365,

Contributing

Thank you for considering contributing to the Laravel Authentication Log.

License

Laravel Authentication Log is open-sourced software licensed under the MIT license.

Yadahan Laravel Authentication Log Related Articles

Laravel Authentication Logs image

Laravel Authentication Logs

Read article
Use Passkeys in Your Laravel App image

Use Passkeys in Your Laravel App

Read article
Laravel Log Reader image

Laravel Log Reader

Read article
Authentication Enhancements in Laravel 5.3 – Sponsor image

Authentication Enhancements in Laravel 5.3 – Sponsor

Read article
Manage Scheduled Tasks Through a Dashboard image

Manage Scheduled Tasks Through a Dashboard

Read article
Laravel Adds an Official Svelte + Inertia Starter Kit image

Laravel Adds an Official Svelte + Inertia Starter Kit

Read article
Acquaint Softtech logo

Acquaint Softtech

Acquaint Softtech offers AI-ready Laravel developers who onboard in 48 hours at $3000/Month with no lengthy sales process and a 100 percent money-back guarantee.

Acquaint Softtech
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $9500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Pushsilver logo

Pushsilver

Pushsilver is simple invoicing for freelancers and small studios — send polished invoices, automate reminders, and get paid on time without the bloat.

Pushsilver
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum