Passport
laravel5.4

laravel5 ログイン時処理の追加

More than 1 year has passed since last update.

ログイン成功後等に処理を追加する方法。

基本的に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',
],

を利用。