mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Fix login mail handing, #5173
This commit is contained in:
parent
98358f7578
commit
66303f614b
44
app/Events/ActuallyLoggedIn.php
Normal file
44
app/Events/ActuallyLoggedIn.php
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
/*
|
||||||
|
* ActuallyLoggedIn.php
|
||||||
|
* Copyright (c) 2021 james@firefly-iii.org
|
||||||
|
*
|
||||||
|
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FireflyIII\Events;
|
||||||
|
|
||||||
|
use FireflyIII\User;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ActuallyLoggedIn
|
||||||
|
*/
|
||||||
|
class ActuallyLoggedIn extends Event
|
||||||
|
{
|
||||||
|
use SerializesModels;
|
||||||
|
|
||||||
|
public User $user;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param User $user
|
||||||
|
*/
|
||||||
|
public function __construct(User $user)
|
||||||
|
{
|
||||||
|
$this->user = $user;
|
||||||
|
}
|
||||||
|
}
|
@ -25,6 +25,7 @@ namespace FireflyIII\Handlers\Events;
|
|||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use FireflyIII\Events\ActuallyLoggedIn;
|
||||||
use FireflyIII\Events\DetectedNewIPAddress;
|
use FireflyIII\Events\DetectedNewIPAddress;
|
||||||
use FireflyIII\Events\RegisteredUser;
|
use FireflyIII\Events\RegisteredUser;
|
||||||
use FireflyIII\Events\RequestedNewPassword;
|
use FireflyIII\Events\RequestedNewPassword;
|
||||||
@ -317,11 +318,9 @@ class UserEventHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Login $event
|
* @param ActuallyLoggedIn $event
|
||||||
*
|
|
||||||
* @throws FireflyException
|
|
||||||
*/
|
*/
|
||||||
public function storeUserIPAddress(Login $event): void
|
public function storeUserIPAddress(ActuallyLoggedIn $event): void
|
||||||
{
|
{
|
||||||
Log::debug('Now in storeUserIPAddress');
|
Log::debug('Now in storeUserIPAddress');
|
||||||
/** @var User $user */
|
/** @var User $user */
|
||||||
@ -337,7 +336,7 @@ class UserEventHandler
|
|||||||
}
|
}
|
||||||
$inArray = false;
|
$inArray = false;
|
||||||
$ip = request()->ip();
|
$ip = request()->ip();
|
||||||
Log::debug(sprintf('User logging in from IP address %s using guard "%s"', $ip, $event->guard));
|
Log::debug(sprintf('User logging in from IP address %s', $ip));
|
||||||
|
|
||||||
// update array if in array
|
// update array if in array
|
||||||
foreach ($preference as $index => $row) {
|
foreach ($preference as $index => $row) {
|
||||||
|
@ -25,6 +25,7 @@ namespace FireflyIII\Http\Controllers\Auth;
|
|||||||
use Adldap;
|
use Adldap;
|
||||||
use Cookie;
|
use Cookie;
|
||||||
use DB;
|
use DB;
|
||||||
|
use FireflyIII\Events\ActuallyLoggedIn;
|
||||||
use FireflyIII\Exceptions\FireflyException;
|
use FireflyIII\Exceptions\FireflyException;
|
||||||
use FireflyIII\Http\Controllers\Controller;
|
use FireflyIII\Http\Controllers\Controller;
|
||||||
use FireflyIII\Providers\RouteServiceProvider;
|
use FireflyIII\Providers\RouteServiceProvider;
|
||||||
@ -119,6 +120,10 @@ class LoginController extends Controller
|
|||||||
|
|
||||||
// if you just logged in, it can't be that you have a valid 2FA cookie.
|
// if you just logged in, it can't be that you have a valid 2FA cookie.
|
||||||
|
|
||||||
|
// send a custom login event because laravel will also fire a login event if a "remember me"-cookie
|
||||||
|
// restores the event.
|
||||||
|
event(new ActuallyLoggedIn($this->guard()->user()));
|
||||||
|
|
||||||
return $this->sendLoginResponse($request);
|
return $this->sendLoginResponse($request);
|
||||||
}
|
}
|
||||||
Log::warning('Login attempt failed.');
|
Log::warning('Login attempt failed.');
|
||||||
|
@ -23,6 +23,7 @@ declare(strict_types=1);
|
|||||||
namespace FireflyIII\Providers;
|
namespace FireflyIII\Providers;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use FireflyIII\Events\ActuallyLoggedIn;
|
||||||
use FireflyIII\Events\AdminRequestedTestMessage;
|
use FireflyIII\Events\AdminRequestedTestMessage;
|
||||||
use FireflyIII\Events\DestroyedTransactionGroup;
|
use FireflyIII\Events\DestroyedTransactionGroup;
|
||||||
use FireflyIII\Events\DetectedNewIPAddress;
|
use FireflyIII\Events\DetectedNewIPAddress;
|
||||||
@ -74,6 +75,8 @@ class EventServiceProvider extends ServiceProvider
|
|||||||
Login::class => [
|
Login::class => [
|
||||||
'FireflyIII\Handlers\Events\UserEventHandler@checkSingleUserIsAdmin',
|
'FireflyIII\Handlers\Events\UserEventHandler@checkSingleUserIsAdmin',
|
||||||
'FireflyIII\Handlers\Events\UserEventHandler@demoUserBackToEnglish',
|
'FireflyIII\Handlers\Events\UserEventHandler@demoUserBackToEnglish',
|
||||||
|
],
|
||||||
|
ActuallyLoggedIn::class => [
|
||||||
'FireflyIII\Handlers\Events\UserEventHandler@storeUserIPAddress',
|
'FireflyIII\Handlers\Events\UserEventHandler@storeUserIPAddress',
|
||||||
],
|
],
|
||||||
DetectedNewIPAddress::class => [
|
DetectedNewIPAddress::class => [
|
||||||
|
Loading…
Reference in New Issue
Block a user