Skip to content

Commit bb9fe0b

Browse files
luka-nextcloudAndyScherzinger
authored andcommitted
feat(admin_audit): write admin audit log for login failed
Signed-off-by: Luka Trovic <luka@nextcloud.com>
1 parent 559d6e8 commit bb9fe0b

3 files changed

Lines changed: 13 additions & 0 deletions

File tree

apps/admin_audit/lib/Actions/Auth.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,15 @@ public function logout(array $params): void {
4242
[]
4343
);
4444
}
45+
46+
public function loginFailed(array $params): void {
47+
$this->log(
48+
'Login failed: "%s"',
49+
$params,
50+
[
51+
'uid',
52+
],
53+
true
54+
);
55+
}
4556
}

apps/admin_audit/lib/AppInfo/Application.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ private function authHooks(IAuditLogger $logger): void {
145145
Util::connectHook('OC_User', 'pre_login', $authActions, 'loginAttempt');
146146
Util::connectHook('OC_User', 'post_login', $authActions, 'loginSuccessful');
147147
Util::connectHook('OC_User', 'logout', $authActions, 'logout');
148+
Util::connectHook('OC_User', 'login_failed', $authActions, 'loginFailed');
148149
}
149150

150151
private function appHooks(IAuditLogger $logger,

lib/private/Authentication/Listeners/LoginFailedListener.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public function handle(Event $event): void {
4040
$this->dispatcher->dispatchTyped(new AnyLoginFailedEvent($event->getLoginName(), $event->getPassword()));
4141

4242
$uid = $event->getLoginName();
43+
\OC_Hook::emit('OC_User', 'login_failed', ['run' => true, 'uid' => $uid]);
4344
Util::emitHook(
4445
'\OCA\Files_Sharing\API\Server2Server',
4546
'preLoginNameUsedAsUserName',

0 commit comments

Comments
 (0)