‪TYPO3CMS  11.5
TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface Interface Reference
Inheritance diagram for TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface:
TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest

Public Member Functions

bool canProcess (ServerRequestInterface $request)
 
bool isActive (MfaProviderPropertyManager $propertyManager)
 
bool isLocked (MfaProviderPropertyManager $propertyManager)
 
bool verify (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
ResponseInterface handleRequest (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager, string $type)
 
bool activate (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
bool deactivate (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
bool unlock (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
bool update (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 

Detailed Description

To be implemented by all MFA providers.

Definition at line 26 of file MfaProviderInterface.php.

Member Function Documentation

◆ activate()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::activate ( ServerRequestInterface  $request,
MfaProviderPropertyManager  $propertyManager 
)

Activate / register this provider for the user

Parameters
ServerRequestInterface$request
MfaProviderPropertyManager$propertyManager
Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implemented in TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider, TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider, and TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest.

Referenced by TYPO3\CMS\Backend\Controller\MfaConfigurationController\activateAction().

◆ canProcess()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::canProcess ( ServerRequestInterface  $request)

Check if the current request can be handled by this provider (e.g. necessary query arguments are set).

Parameters
ServerRequestInterface$request
Returns
‪bool

Implemented in TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest, TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider, and TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider.

Referenced by TYPO3\CMS\Backend\Controller\MfaController\verifyAction().

◆ deactivate()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::deactivate ( ServerRequestInterface  $request,
MfaProviderPropertyManager  $propertyManager 
)

Deactivate this provider for the user

Parameters
ServerRequestInterface$request
MfaProviderPropertyManager$propertyManager
Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implemented in TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider, TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider, and TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest.

Referenced by TYPO3\CMS\Backend\Controller\MfaConfigurationController\deactivateAction().

◆ handleRequest()

ResponseInterface TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::handleRequest ( ServerRequestInterface  $request,
MfaProviderPropertyManager  $propertyManager,
string  $type 
)

Generate the provider specific response for the given view type. Note: Currently the calling controller only evaluates the response body and directly injects it into the corresponding view. It's however planned to also take further information like headers into account.

Parameters
ServerRequestInterface$request
MfaProviderPropertyManager$propertyManager
string$type
Returns
‪ResponseInterface
See also
MfaViewType

Implemented in TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider, TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider, and TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest.

Referenced by TYPO3\CMS\Backend\Controller\MfaController\authAction(), TYPO3\CMS\Backend\Controller\MfaConfigurationController\editAction(), TYPO3\CMS\Backend\Controller\MfaSetupController\renderSetupView(), and TYPO3\CMS\Backend\Controller\MfaConfigurationController\setupAction().

◆ isActive()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::isActive ( MfaProviderPropertyManager  $propertyManager)

◆ isLocked()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::isLocked ( MfaProviderPropertyManager  $propertyManager)

Check if provider is temporarily locked for the user, because of e.g. to much false authentication attempts. This differs from the "isActive" state on purpose, so please DO NOT use the "isActive" state for such check internally. This will allow attackers to easily circumvent MFA!

Parameters
MfaProviderPropertyManager$propertyManager
Returns
‪bool

Implemented in TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest, TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider, and TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider.

Referenced by TYPO3\CMS\Backend\Controller\MfaController\authAction(), TYPO3\CMS\Backend\Controller\MfaConfigurationController\editAction(), and TYPO3\CMS\Backend\Controller\MfaController\verifyAction().

◆ unlock()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::unlock ( ServerRequestInterface  $request,
MfaProviderPropertyManager  $propertyManager 
)

Unlock this provider for the user

Parameters
ServerRequestInterface$request
MfaProviderPropertyManager$propertyManager
Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implemented in TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider, TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider, and TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest.

Referenced by TYPO3\CMS\Backend\Controller\MfaConfigurationController\unlockAction().

◆ update()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::update ( ServerRequestInterface  $request,
MfaProviderPropertyManager  $propertyManager 
)

Handle changes of the provider by the user

Parameters
ServerRequestInterface$request
MfaProviderPropertyManager$propertyManager
Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implemented in TYPO3\CMS\Core\Authentication\Mfa\Provider\RecoveryCodesProvider, TYPO3\CMS\Core\Authentication\Mfa\Provider\TotpProvider, and TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest.

Referenced by TYPO3\CMS\Backend\Controller\MfaConfigurationController\saveAction().

◆ verify()

bool TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface::verify ( ServerRequestInterface  $request,
MfaProviderPropertyManager  $propertyManager 
)