ログイン成功後等に処理を追加する方法。
基本的にcomposer側で実装されている処理はイベントが発生するので、イベントリスナーを登録して
そこに処理を記載。
$listen配列にイベント、リスナーの追加
App/Providers/EventServiceProvider.php
protected $listen = [
'Illuminate\Auth\Events\Login' => [
'App\Listeners\LogSuccessfulLogin',
],
];
php artisan event:generate
にて$listenに登録されたイベント、リスナーが自動生成される。
(イベントに関しては既存を利用するのだが、なぜかApp配下にIlluminate\Auth\Events\Loginが作られるので削除)
app/Listeners/LogSuccessfulLogin.php
public function handle(Login $event)
{
//ここに実装したい処理を記載
}
api等でpassportを利用している場合は別イベントで
'Laravel\Passport\Events\AccessTokenCreated' => [
'App\Listeners\RevokeOldTokens',
],
'Laravel\Passport\Events\RefreshTokenCreated' => [
'App\Listeners\PruneOldTokens',
],
を利用。