MfaController extends AbstractMfaController uses PageRendererBackendSetupTrait

Controller to provide a multi-factor authentication endpoint.

This is the backend login related view to authenticate against chosen MFA provider.

Internal

This class is a specific Backend controller implementation and is not considered part of the Public TYPO3 API.

Attributes
#[AsController]

Table of Contents

Properties

$allowedActions  : array<string|int, mixed>
$allowedProviders  : array<string|int, mixed>
$authenticationStyleInformation  : AuthenticationStyleInformation
$backendViewFactory  : BackendViewFactory
$eventDispatcher  : EventDispatcherInterface
$extensionConfiguration  : ExtensionConfiguration
$logger  : LoggerInterface
$mfaProviderRegistry  : MfaProviderRegistry
$mfaRequired  : bool
$mfaTsConfig  : array<string|int, mixed>
$pageRenderer  : PageRenderer
$uriBuilder  : UriBuilder

Methods

__construct()  : mixed
handleRequest()  : ResponseInterface
Main entry point, checking prerequisite, initializing and setting up the view and finally dispatching to the requested action.
injectMfaProviderRegistry()  : void
addCustomAuthenticationFormStyles()  : void
authAction()  : ResponseInterface
Set up the authentication view for the provider by using provider specific content.
cancelAction()  : ResponseInterface
Allow the user to cancel the multi-factor authentication by calling logoff on the user object, to destroy the session and other already gathered information and finally initiate a redirect back to the login.
getAlternativeProviders()  : array<string|int, ProviderInterface>
Fetch alternative (activated and allowed) providers for the user to chose from
getBackendFavicon()  : string
Retrieves configured favicon for backend with fallback.
getBackendUser()  : BackendUserAuthentication
getLanguageService()  : LanguageService
getMfaProviderFromRequest()  : MfaProviderManifestInterface|null
getNormalizedParams()  : NormalizedParams
getRecommendedProvider()  : MfaProviderManifestInterface|null
Get the recommended provider
getRegisteredStylesheetFolders()  : array<string|int, mixed>
Return an array of all stylesheet directories registered via $GLOBAlS['TBE_STYLES']['skins'].
getUriForFileName()  : string
Returns the uri of a relative reference, resolves the "EXT:" prefix (way of referring to files inside extensions) and checks that the file is inside the project root of the TYPO3 installation
initializeMfaConfiguration()  : void
Initialize MFA configuration based on TSconfig and global configuration
isActionAllowed()  : bool
isProviderAllowed()  : bool
isValidIdentifier()  : bool
loadStylesheets()  : void
Load all registered stylesheets from $GLOBALS['TBE_STYLES'] "API"
log()  : void
Log debug information for MFA events
setUpBasicPageRendererForBackend()  : void
Sets mandatory parameters for the PageRenderer.
verifyAction()  : ResponseInterface
Handle verification request, receiving from the auth view by forwarding the request to the appropriate provider.

Properties

$allowedActions

protected array<string|int, mixed> $allowedActions = []

$allowedProviders

protected array<string|int, mixed> $allowedProviders

$eventDispatcher read-only

protected EventDispatcherInterface $eventDispatcher

$logger read-only

protected LoggerInterface $logger

$mfaTsConfig

protected array<string|int, mixed> $mfaTsConfig

Methods

__construct()

public __construct(UriBuilder $uriBuilder, AuthenticationStyleInformation $authenticationStyleInformation, PageRenderer $pageRenderer, ExtensionConfiguration $extensionConfiguration, LoggerInterface $logger, BackendViewFactory $backendViewFactory, EventDispatcherInterface $eventDispatcher) : mixed
Parameters
$uriBuilder : UriBuilder
$authenticationStyleInformation : AuthenticationStyleInformation
$pageRenderer : PageRenderer
$extensionConfiguration : ExtensionConfiguration
$logger : LoggerInterface
$backendViewFactory : BackendViewFactory
$eventDispatcher : EventDispatcherInterface

handleRequest()

Main entry point, checking prerequisite, initializing and setting up the view and finally dispatching to the requested action.

public handleRequest(ServerRequestInterface $request) : ResponseInterface
Parameters
$request : ServerRequestInterface
Return values
ResponseInterface

addCustomAuthenticationFormStyles()

protected addCustomAuthenticationFormStyles() : void

authAction()

Set up the authentication view for the provider by using provider specific content.

protected authAction(ServerRequestInterface $request, MfaProviderManifestInterface $mfaProvider) : ResponseInterface
Parameters
$request : ServerRequestInterface
$mfaProvider : MfaProviderManifestInterface
Return values
ResponseInterface

cancelAction()

Allow the user to cancel the multi-factor authentication by calling logoff on the user object, to destroy the session and other already gathered information and finally initiate a redirect back to the login.

protected cancelAction(ServerRequestInterface $request) : ResponseInterface
Parameters
$request : ServerRequestInterface
Return values
ResponseInterface

getBackendFavicon()

Retrieves configured favicon for backend with fallback.

protected getBackendFavicon(ExtensionConfiguration $extensionConfiguration, ServerRequestInterface $request) : string
Parameters
$extensionConfiguration : ExtensionConfiguration
$request : ServerRequestInterface
Return values
string

getRegisteredStylesheetFolders()

Return an array of all stylesheet directories registered via $GLOBAlS['TBE_STYLES']['skins'].

protected getRegisteredStylesheetFolders() : array<string|int, mixed>
Deprecated

will be removed in TYPO3 v13.0. Use $GLOBALS['TYPO3_CONF_VARS']['BE']['stylesheets'] instead.

Return values
array<string|int, mixed>

getUriForFileName()

Returns the uri of a relative reference, resolves the "EXT:" prefix (way of referring to files inside extensions) and checks that the file is inside the project root of the TYPO3 installation

protected getUriForFileName(ServerRequestInterface $request, string $filename) : string
Parameters
$request : ServerRequestInterface
$filename : string

The input filename/filepath to evaluate

Return values
string

Returns the filename of $filename if valid, otherwise blank string.

initializeMfaConfiguration()

Initialize MFA configuration based on TSconfig and global configuration

protected initializeMfaConfiguration() : void

isActionAllowed()

protected isActionAllowed(string $action) : bool
Parameters
$action : string
Return values
bool

isProviderAllowed()

protected isProviderAllowed(string $identifier) : bool
Parameters
$identifier : string
Return values
bool

isValidIdentifier()

protected isValidIdentifier(string $identifier) : bool
Parameters
$identifier : string
Return values
bool

loadStylesheets()

Load all registered stylesheets from $GLOBALS['TBE_STYLES'] "API"

protected loadStylesheets(PageRenderer $pageRenderer) : void
Parameters
$pageRenderer : PageRenderer

log()

Log debug information for MFA events

protected log(string $message[, array<string|int, mixed> $additionalData = [] ][, MfaProviderManifestInterface|null $mfaProvider = null ][, int $action = Login::LOGIN ][, int $error = SystemLogErrorClassification::MESSAGE ]) : void
Parameters
$message : string
$additionalData : array<string|int, mixed> = []
$mfaProvider : MfaProviderManifestInterface|null = null
$action : int = Login::LOGIN
$error : int = SystemLogErrorClassification::MESSAGE

verifyAction()

Handle verification request, receiving from the auth view by forwarding the request to the appropriate provider.

protected verifyAction(ServerRequestInterface $request, MfaProviderManifestInterface $mfaProvider) : ResponseInterface
Parameters
$request : ServerRequestInterface
$mfaProvider : MfaProviderManifestInterface
Return values
ResponseInterface

        
On this page

Search results