|
|
|
@ -46,8 +46,6 @@ use OCP\ISession;
|
|
|
|
|
use OCP\IUser;
|
|
|
|
|
use OCP\Session\Exceptions\SessionNotAvailableException;
|
|
|
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|
|
|
|
use Symfony\Component\EventDispatcher\GenericEvent;
|
|
|
|
|
use function array_diff;
|
|
|
|
|
use function array_filter;
|
|
|
|
|
|
|
|
|
@ -87,9 +85,6 @@ class Manager {
|
|
|
|
|
/** @var IEventDispatcher */
|
|
|
|
|
private $dispatcher;
|
|
|
|
|
|
|
|
|
|
/** @var EventDispatcherInterface */
|
|
|
|
|
private $legacyDispatcher;
|
|
|
|
|
|
|
|
|
|
/** @psalm-var array<string, bool> */
|
|
|
|
|
private $userIsTwoFactorAuthenticated = [];
|
|
|
|
|
|
|
|
|
@ -102,8 +97,7 @@ class Manager {
|
|
|
|
|
LoggerInterface $logger,
|
|
|
|
|
TokenProvider $tokenProvider,
|
|
|
|
|
ITimeFactory $timeFactory,
|
|
|
|
|
IEventDispatcher $eventDispatcher,
|
|
|
|
|
EventDispatcherInterface $legacyDispatcher) {
|
|
|
|
|
IEventDispatcher $eventDispatcher) {
|
|
|
|
|
$this->providerLoader = $providerLoader;
|
|
|
|
|
$this->providerRegistry = $providerRegistry;
|
|
|
|
|
$this->mandatoryTwoFactor = $mandatoryTwoFactor;
|
|
|
|
@ -114,7 +108,6 @@ class Manager {
|
|
|
|
|
$this->tokenProvider = $tokenProvider;
|
|
|
|
|
$this->timeFactory = $timeFactory;
|
|
|
|
|
$this->dispatcher = $eventDispatcher;
|
|
|
|
|
$this->legacyDispatcher = $legacyDispatcher;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -284,9 +277,6 @@ class Manager {
|
|
|
|
|
$tokenId = $token->getId();
|
|
|
|
|
$this->config->deleteUserValue($user->getUID(), 'login_token_2fa', (string)$tokenId);
|
|
|
|
|
|
|
|
|
|
$dispatchEvent = new GenericEvent($user, ['provider' => $provider->getDisplayName()]);
|
|
|
|
|
$this->legacyDispatcher->dispatch(IProvider::EVENT_SUCCESS, $dispatchEvent);
|
|
|
|
|
|
|
|
|
|
$this->dispatcher->dispatchTyped(new TwoFactorProviderForUserEnabled($user, $provider));
|
|
|
|
|
$this->dispatcher->dispatchTyped(new TwoFactorProviderChallengePassed($user, $provider));
|
|
|
|
|
|
|
|
|
@ -294,9 +284,6 @@ class Manager {
|
|
|
|
|
'provider' => $provider->getDisplayName(),
|
|
|
|
|
]);
|
|
|
|
|
} else {
|
|
|
|
|
$dispatchEvent = new GenericEvent($user, ['provider' => $provider->getDisplayName()]);
|
|
|
|
|
$this->legacyDispatcher->dispatch(IProvider::EVENT_FAILED, $dispatchEvent);
|
|
|
|
|
|
|
|
|
|
$this->dispatcher->dispatchTyped(new TwoFactorProviderForUserDisabled($user, $provider));
|
|
|
|
|
$this->dispatcher->dispatchTyped(new TwoFactorProviderChallengeFailed($user, $provider));
|
|
|
|
|
|
|
|
|
|