Skip to content

Commit fa2cca5

Browse files
committed
[TASK] Avoid calling UsernamePasswordLoginProvider signal
Won’t work anymore in TYPO3 v10 due to PSR-14 events (and new dependencies to LoginController, PageRenderer, StandaloneView). Thus, `ext:rsaauth` is applied directly if it’s installed.
1 parent b651e65 commit fa2cca5

2 files changed

Lines changed: 9 additions & 27 deletions

File tree

Classes/Backend/ConfirmationController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ protected function requestAction(ServerRequestInterface $request, ConfirmationBu
114114
*/
115115
protected function applyAdditionalJavaScriptModules(): void
116116
{
117-
(GeneralUtility::makeInstance(ExternalServiceAdapter::class))->emitLoginProviderSignal();
117+
(GeneralUtility::makeInstance(ExternalServiceAdapter::class))->applyRsaAuthModules();
118118
}
119119

120120
protected function verifyAction(ServerRequestInterface $request, ConfirmationBundle $bundle): ResponseInterface

Classes/Backend/ExternalServiceAdapter.php

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,39 +15,21 @@
1515
* The TYPO3 project - inspiring people to share!
1616
*/
1717

18-
use TYPO3\CMS\Backend\LoginProvider\UsernamePasswordLoginProvider;
19-
use TYPO3\CMS\Core\Page\PageRenderer;
18+
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
2019
use TYPO3\CMS\Core\Utility\GeneralUtility;
21-
use TYPO3\CMS\Extbase\Object\ObjectManager;
22-
use TYPO3\CMS\Extbase\Object\ObjectManagerInterface;
23-
use TYPO3\CMS\Extbase\SignalSlot\Dispatcher;
20+
use TYPO3\CMS\Rsaauth\RsaEncryptionEncoder;
2421

2522
/**
2623
* Aims to adapt external services or extensions to be working with `ext:sudo_mode`.
2724
*/
2825
class ExternalServiceAdapter
2926
{
30-
public function emitLoginProviderSignal(PageRenderer $pageRenderer = null): void
27+
public function applyRsaAuthModules(): void
3128
{
32-
$this->getSignalSlotDispatcher()->dispatch(
33-
UsernamePasswordLoginProvider::class,
34-
UsernamePasswordLoginProvider::SIGNAL_getPageRenderer,
35-
[$pageRenderer ?? $this->getPageRenderer()]
36-
);
37-
}
38-
39-
public function getSignalSlotDispatcher(): Dispatcher
40-
{
41-
return $this->getObjectManager()->get(Dispatcher::class);
42-
}
43-
44-
public function getObjectManager(): ObjectManagerInterface
45-
{
46-
return GeneralUtility::makeInstance(ObjectManager::class);
47-
}
48-
49-
public function getPageRenderer(): PageRenderer
50-
{
51-
return GeneralUtility::makeInstance(PageRenderer::class);
29+
if (!ExtensionManagementUtility::isLoaded('rsaauth')) {
30+
return;
31+
}
32+
$rsaEncryptionEncoder = GeneralUtility::makeInstance(RsaEncryptionEncoder::class);
33+
$rsaEncryptionEncoder->enableRsaEncryption(true);
5234
}
5335
}

0 commit comments

Comments
 (0)