|
|
|
|
@ -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)); |
|
|
|
|
|
|
|
|
|
|