TotpProvider implements MfaProviderInterface

MFA provider for time-based one-time password authentication

Internal

should only be used by the TYPO3 Core

Table of Contents

Interfaces

MfaProviderInterface
To be implemented by all MFA providers.

Properties

$context  : Context

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

Methods

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
bool

deactivate()

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
ResponseInterface

unlock()

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
bool

getDateTime()

Return the timestamp as local time (date string) by applying the globally configured format

protected getDateTime(int $timestamp) : string
Parameters
$timestamp : int
Return values
string

getSvgQrCode()

Internal helper method for generating a svg QR-code for TOTP applications

protected getSvgQrCode(string $content) : string
Parameters
$content : string
Return values
string

getTotp()

Internal helper method for fetching the TOTP from the request

protected getTotp(ServerRequestInterface $request) : string
Parameters
$request : ServerRequestInterface
Return values
string

        
On this page

Search results