TotpProvider implements MfaProviderInterface
MFA provider for time-based one-time password authentication
should only be used by the TYPO3 Core
Table of Contents
Interfaces
- MfaProviderInterface
- To be implemented by all MFA providers.
Methods
- __construct() : mixed
- activate() : bool
- Activate the provider by checking the necessary parameters, verifying the TOTP and storing the provider properties.
- canProcess() : bool
- Check if a TOTP is given in the current request
- deactivate() : bool
- Handle the deactivate action. For security reasons, the provider entry is completely deleted and setting up this provider again, will therefore create a brand-new entry.
- handleRequest() : ResponseInterface
- Initialize view and forward to the appropriate implementation based on the view type to be returned.
- isActive() : bool
- Evaluate if the provider is activated by checking the active state and the secret from the provider properties.
- isLocked() : bool
- Evaluate if the provider is temporarily locked by checking the current attempts state from the provider properties.
- unlock() : bool
- Handle the unlock action by resetting the attempts provider property
- update() : bool
- Handle the save action by updating the provider properties
- verify() : bool
- Verify the given TOTP and update the provider properties in case the TOTP is valid.
Methods
__construct()
public
__construct(Context $context, HashService $hashService, ViewFactoryInterface $viewFactory) : mixed
Parameters
- $context : Context
- $hashService : HashService
- $viewFactory : ViewFactoryInterface
activate()
Activate the provider by checking the necessary parameters, verifying the TOTP and storing the provider properties.
public
activate(ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager) : bool
Parameters
- $request : ServerRequestInterface
- $propertyManager : MfaProviderPropertyManager
Return values
bool —TRUE in case operation was successful, FALSE otherwise
canProcess()
Check if a TOTP is given in the current request
public
canProcess(ServerRequestInterface $request) : bool
Parameters
- $request : ServerRequestInterface
Return values
booldeactivate()
Handle the deactivate action. For security reasons, the provider entry is completely deleted and setting up this provider again, will therefore create a brand-new entry.
public
deactivate(ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager) : bool
Parameters
- $request : ServerRequestInterface
- $propertyManager : MfaProviderPropertyManager
Return values
bool —TRUE in case operation was successful, FALSE otherwise
handleRequest()
Initialize view and forward to the appropriate implementation based on the view type to be returned.
public
handleRequest(ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager, MfaViewType $type) : ResponseInterface
Parameters
- $request : ServerRequestInterface
- $propertyManager : MfaProviderPropertyManager
- $type : MfaViewType
Return values
ResponseInterfaceisActive()
Evaluate if the provider is activated by checking the active state and the secret from the provider properties.
public
isActive(MfaProviderPropertyManager $propertyManager) : bool
Parameters
- $propertyManager : MfaProviderPropertyManager
Return values
boolisLocked()
Evaluate if the provider is temporarily locked by checking the current attempts state from the provider properties.
public
isLocked(MfaProviderPropertyManager $propertyManager) : bool
Parameters
- $propertyManager : MfaProviderPropertyManager
Return values
boolunlock()
Handle the unlock action by resetting the attempts provider property
public
unlock(ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager) : bool
Parameters
- $request : ServerRequestInterface
- $propertyManager : MfaProviderPropertyManager
Return values
bool —TRUE in case operation was successful, FALSE otherwise
update()
Handle the save action by updating the provider properties
public
update(ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager) : bool
Parameters
- $request : ServerRequestInterface
- $propertyManager : MfaProviderPropertyManager
Return values
bool —TRUE in case operation was successful, FALSE otherwise
verify()
Verify the given TOTP and update the provider properties in case the TOTP is valid.
public
verify(ServerRequestInterface $request, MfaProviderPropertyManager $propertyManager) : bool
Parameters
- $request : ServerRequestInterface
- $propertyManager : MfaProviderPropertyManager