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.
Properties
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.
- getDateTime() : string
- Return the timestamp as local time (date string) by applying the globally configured format
- getSvgQrCode() : string
- Internal helper method for generating a svg QR-code for TOTP applications
- getTotp() : string
- Internal helper method for fetching the TOTP from the request
- prepareAuthView() : void
- Set the template for the auth view where the user has to provide the TOTP
- prepareEditView() : void
- Set the template and assign necessary variables for the edit view
- prepareSetupView() : void
- Generate a new shared secret, generate the otpauth URL and create a qr-code for improved usability. Set template and assign necessary variables for the setup view.
Properties
$context
        protected
            Context
    $context
    
    
    
    
    
    
Methods
__construct()
    public
                    __construct(Context $context) : mixed
    Parameters
- $context : Context
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, string $type) : ResponseInterface
    Parameters
- $request : ServerRequestInterface
- $propertyManager : MfaProviderPropertyManager
- $type : string
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
Return values
boolgetDateTime()
Return the timestamp as local time (date string) by applying the globally configured format
    protected
                    getDateTime(int $timestamp) : string
    Parameters
- $timestamp : int
Return values
stringgetSvgQrCode()
Internal helper method for generating a svg QR-code for TOTP applications
    protected
                    getSvgQrCode(string $content) : string
    Parameters
- $content : string
Return values
stringgetTotp()
Internal helper method for fetching the TOTP from the request
    protected
                    getTotp(ServerRequestInterface $request) : string
    Parameters
- $request : ServerRequestInterface
Return values
stringprepareAuthView()
Set the template for the auth view where the user has to provide the TOTP
    protected
                    prepareAuthView(StandaloneView $view, MfaProviderPropertyManager $propertyManager) : void
    Parameters
- $view : StandaloneView
- $propertyManager : MfaProviderPropertyManager
prepareEditView()
Set the template and assign necessary variables for the edit view
    protected
                    prepareEditView(StandaloneView $view, MfaProviderPropertyManager $propertyManager) : void
    Parameters
- $view : StandaloneView
- $propertyManager : MfaProviderPropertyManager
prepareSetupView()
Generate a new shared secret, generate the otpauth URL and create a qr-code for improved usability. Set template and assign necessary variables for the setup view.
    protected
                    prepareSetupView(StandaloneView $view, MfaProviderPropertyManager $propertyManager) : void
    Parameters
- $view : StandaloneView
- $propertyManager : MfaProviderPropertyManager