diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/admin_audit/lib/AppInfo/Application.php | 2 | ||||
-rw-r--r-- | apps/admin_audit/lib/Listener/AuthEventListener.php | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/apps/admin_audit/lib/AppInfo/Application.php b/apps/admin_audit/lib/AppInfo/Application.php index de45bb9bcdd..201a8fe255a 100644 --- a/apps/admin_audit/lib/AppInfo/Application.php +++ b/apps/admin_audit/lib/AppInfo/Application.php @@ -34,6 +34,7 @@ use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; +use OCP\Authentication\Events\AnyLoginFailedEvent; use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengeFailed; use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengePassed; use OCP\Console\ConsoleEvent; @@ -105,6 +106,7 @@ class Application extends App implements IBootstrap { $context->registerEventListener(UserLoggedInWithCookieEvent::class, AuthEventListener::class); $context->registerEventListener(UserLoggedInEvent::class, AuthEventListener::class); $context->registerEventListener(BeforeUserLoggedOutEvent::class, AuthEventListener::class); + $context->registerEventListener(AnyLoginFailedEvent::class, AuthEventListener::class); // File events $context->registerEventListener(BeforePreviewFetchedEvent::class, FileEventListener::class); diff --git a/apps/admin_audit/lib/Listener/AuthEventListener.php b/apps/admin_audit/lib/Listener/AuthEventListener.php index 2b31a271d23..88be8555a4d 100644 --- a/apps/admin_audit/lib/Listener/AuthEventListener.php +++ b/apps/admin_audit/lib/Listener/AuthEventListener.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace OCA\AdminAudit\Listener; use OCA\AdminAudit\Actions\Action; +use OCP\Authentication\Events\AnyLoginFailedEvent; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\User\Events\BeforeUserLoggedInEvent; @@ -18,7 +19,7 @@ use OCP\User\Events\UserLoggedInEvent; use OCP\User\Events\UserLoggedInWithCookieEvent; /** - * @template-implements IEventListener<BeforeUserLoggedInEvent|UserLoggedInWithCookieEvent|UserLoggedInEvent|BeforeUserLoggedOutEvent> + * @template-implements IEventListener<BeforeUserLoggedInEvent|UserLoggedInWithCookieEvent|UserLoggedInEvent|BeforeUserLoggedOutEvent|AnyLoginFailedEvent> */ class AuthEventListener extends Action implements IEventListener { public function handle(Event $event): void { @@ -28,6 +29,8 @@ class AuthEventListener extends Action implements IEventListener { $this->userLoggedIn($event); } elseif ($event instanceof BeforeUserLoggedOutEvent) { $this->beforeUserLogout($event); + } elseif ($event instanceof AnyLoginFailedEvent) { + $this->anyLoginFailed($event); } } @@ -64,4 +67,17 @@ class AuthEventListener extends Action implements IEventListener { [] ); } + + private function anyLoginFailed(AnyLoginFailedEvent $event): void { + $this->log( + 'Login failed: "%s"', + [ + 'loginName' => $event->getLoginName() + ], + [ + 'loginName', + ], + true + ); + } } |