‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest Class Reference
Inheritance diagram for TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest:
TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface

Public Member Functions

 __construct (private readonly string $identifier, private readonly string $title, private readonly string $description, private readonly string $setupInstructions, private readonly string $iconIdentifier, private readonly bool $isDefaultProviderAllowed, private readonly string $serviceName, private readonly ContainerInterface $container)
 
 getIdentifier ()
 
 getTitle ()
 
 getDescription ()
 
 getIconIdentifier ()
 
 getSetupInstructions ()
 
 isDefaultProviderAllowed ()
 
 canProcess (ServerRequestInterface $request)
 
 isActive (MfaProviderPropertyManager $propertyManager)
 
 isLocked (MfaProviderPropertyManager $propertyManager)
 
 verify (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
 handleRequest (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager, MfaViewType $type)
 
 activate (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
 deactivate (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
 unlock (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 
 update (ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager)
 

Private Member Functions

 getInstance ()
 
 createInstance ()
 

Private Attributes

MfaProviderInterface $instance = null
 

Detailed Description

Adapter for MFA providers

should only be used by the TYPO3 Core

Definition at line 29 of file MfaProviderManifest.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::__construct ( private readonly string  $identifier,
private readonly string  $title,
private readonly string  $description,
private readonly string  $setupInstructions,
private readonly string  $iconIdentifier,
private readonly bool  $isDefaultProviderAllowed,
private readonly string  $serviceName,
private readonly ContainerInterface  $container 
)

Definition at line 33 of file MfaProviderManifest.php.

Member Function Documentation

◆ activate()

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

Activate / register this provider for the user

Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 102 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ canProcess()

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

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

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 74 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ createInstance()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::createInstance ( )
private

◆ deactivate()

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

Deactivate this provider for the user

Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 107 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ getDescription()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::getDescription ( )

A short description about the provider

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface.

Definition at line 54 of file MfaProviderManifest.php.

◆ getIconIdentifier()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::getIconIdentifier ( )

The icon identifier for this provider

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface.

Definition at line 59 of file MfaProviderManifest.php.

◆ getIdentifier()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::getIdentifier ( )

Unique provider identifier

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface.

Definition at line 44 of file MfaProviderManifest.php.

References TYPO3\CMS\Webhooks\Message\$identifier.

◆ getInstance()

◆ getSetupInstructions()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::getSetupInstructions ( )

Instructions to be displayed in the setup view

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface.

Definition at line 64 of file MfaProviderManifest.php.

◆ getTitle()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::getTitle ( )

The title of the provider

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface.

Definition at line 49 of file MfaProviderManifest.php.

◆ handleRequest()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::handleRequest ( ServerRequestInterface  $request,
MfaProviderPropertyManager  $propertyManager,
MfaViewType  $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.

See also
MfaViewType

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 94 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ isActive()

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

Check if provider is active for the user by e.g. checking the user record for some provider specific active state.

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 79 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ isDefaultProviderAllowed()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::isDefaultProviderAllowed ( )

Whether the provider is allowed to be set as default

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifestInterface.

Definition at line 69 of file MfaProviderManifest.php.

◆ isLocked()

TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::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!

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 84 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ unlock()

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

Unlock this provider for the user

Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 112 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ update()

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

Handle changes of the provider by the user

Returns
‪bool TRUE in case operation was successful, FALSE otherwise

Implements TYPO3\CMS\Core\Authentication\Mfa\MfaProviderInterface.

Definition at line 117 of file MfaProviderManifest.php.

References TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest\getInstance().

◆ verify()

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

Member Data Documentation

◆ $instance

MfaProviderInterface TYPO3\CMS\Core\Authentication\Mfa\MfaProviderManifest::$instance = null
private