diff options
author | Luka Trovic <luka@nextcloud.com> | 2025-02-27 15:39:06 +0100 |
---|---|---|
committer | Luka Trovic <89908051+luka-nextcloud@users.noreply.github.com> | 2025-04-29 20:07:19 +0200 |
commit | 03d11b3980bf1aa5b20ed7eab8f900eb44d40a0e (patch) | |
tree | ac9b5234359ca9125b6acd4ca93e23e8dbf0d7c1 | |
parent | e902fec9a5a2cb40e02db1523c347dc8d0074c1f (diff) | |
download | nextcloud-server-03d11b3980bf1aa5b20ed7eab8f900eb44d40a0e.tar.gz nextcloud-server-03d11b3980bf1aa5b20ed7eab8f900eb44d40a0e.zip |
feat(admin_audit): write admin audit log for login failed
Signed-off-by: Luka Trovic <luka@nextcloud.com>
-rw-r--r-- | apps/admin_audit/lib/Actions/Auth.php | 11 | ||||
-rw-r--r-- | apps/admin_audit/lib/AppInfo/Application.php | 1 | ||||
-rw-r--r-- | lib/private/Authentication/Listeners/LoginFailedListener.php | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/apps/admin_audit/lib/Actions/Auth.php b/apps/admin_audit/lib/Actions/Auth.php index 55a87cf170f..c56d2c4b7c4 100644 --- a/apps/admin_audit/lib/Actions/Auth.php +++ b/apps/admin_audit/lib/Actions/Auth.php @@ -42,4 +42,15 @@ class Auth extends Action { [] ); } + + public function loginFailed(array $params): void { + $this->log( + 'Login failed: "%s"', + $params, + [ + 'uid', + ], + true + ); + } } diff --git a/apps/admin_audit/lib/AppInfo/Application.php b/apps/admin_audit/lib/AppInfo/Application.php index a95ba0e684a..00494fb0b60 100644 --- a/apps/admin_audit/lib/AppInfo/Application.php +++ b/apps/admin_audit/lib/AppInfo/Application.php @@ -145,6 +145,7 @@ class Application extends App implements IBootstrap { Util::connectHook('OC_User', 'pre_login', $authActions, 'loginAttempt'); Util::connectHook('OC_User', 'post_login', $authActions, 'loginSuccessful'); Util::connectHook('OC_User', 'logout', $authActions, 'logout'); + Util::connectHook('OC_User', 'login_failed', $authActions, 'loginFailed'); } private function appHooks(IAuditLogger $logger, diff --git a/lib/private/Authentication/Listeners/LoginFailedListener.php b/lib/private/Authentication/Listeners/LoginFailedListener.php index 0358887bb86..ccc93532439 100644 --- a/lib/private/Authentication/Listeners/LoginFailedListener.php +++ b/lib/private/Authentication/Listeners/LoginFailedListener.php @@ -40,6 +40,7 @@ class LoginFailedListener implements IEventListener { $this->dispatcher->dispatchTyped(new AnyLoginFailedEvent($event->getLoginName(), $event->getPassword())); $uid = $event->getLoginName(); + \OC_Hook::emit('OC_User', 'login_failed', ['run' => true, 'uid' => $uid]); Util::emitHook( '\OCA\Files_Sharing\API\Server2Server', 'preLoginNameUsedAsUserName', |