LoginAttemptFailedEvent¶
New in version 12.3: The event replaces the deprecated hook
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['postLoginFailureProcessing']
.
The purpose of the PSR-14 event
\TYPO3\CMS\Core\Authentication\Event\LoginAttemptFailedEvent
is to allow to notify remote systems about failed logins.
Example¶
Registration of the event listener in the extension's Services.yaml
:
EXT:my_extension/Configuration/Services.yaml¶
services:
# Place here the default dependency injection configuration
MyVendor\MyExtension\Authentication\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/login-attempt-failed'
Read how to configure dependency injection in extensions.
An implementation of the event listener:
EXT:my_extension/Authentication/EventListener/MyEventListener.php¶
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Authentication\EventListener;
use TYPO3\CMS\Core\Authentication\Event\LoginAttemptFailedEvent;
final class MyEventListener
{
public function __invoke(LoginAttemptFailedEvent $event): void
{
$normalizedParams = $event->getRequest()->getAttribute('normalizedParams');
if ($normalizedParams->getRemoteAddress() !== '198.51.100.42') {
// send an email because an external user attempt failed
}
}
}
API¶
- class TYPO3\CMS\Core\Authentication\Event\LoginAttemptFailedEvent¶
Event fired after a login attempt failed.
- getUser()¶
- Return type
TYPO3\CMS\Core\Authentication\AbstractUserAuthentication
- getLoginData()¶
- Return type
array
- isFrontendAttempt()¶
- Return type
bool
- isBackendAttempt()¶
- Return type
bool
- getRequest()¶
- Return type
Psr\Http\Message\ServerRequestInterface