TwoFactorAuthController
extends HttpViewController
in package
Class representing a two-factor-authorization front-end controller
Table of Contents
- $assets : AssetCollectionInterface
- $contentView : ContentViewInterface
- $customerId : IdType
- Customer ID
- $customerServiceFactory : CustomerServiceFactory
- Customer service factory
- $httpContextReader : HttpContextReaderInterface
- $httpResponseProcessor : HttpResponseProcessorInterface
- $languageTextManager : LanguageTextManager
- Language text manager
- $messageStack : messageStack_ORIGIN
- Reference to the message stack
- $postDataArray : array<string|int, mixed>
- $queryParametersArray : array<string|int, mixed>
- $serverDataArray : array<string|int, mixed>
- $twoFactorAuthServiceFactory : TwoFactorAuthServiceFactory
- Two-factor-authentication service factory
- __construct() : mixed
- actionConfigure() : RedirectHttpControllerResponse|HttpControllerResponse
- Return the configuration view if customer is not using 2FA Otherwise a redirection to the edit view is returned
- actionDeactivate() : mixed
- Deactivate the two-factor-authentication for the current customer
- actionDefault() : RedirectHttpControllerResponse
- Redirect either to the edit view or to the configuration view
- actionEdit() : RedirectHttpControllerResponse|HttpControllerResponse
- Return the edit view if customer is using 2FA Otherwise a redirection to the configuration view is returned
- init() : mixed
- Initialize
- proceed() : mixed
- Processes a http response object which is get by invoking an action method.
- _callActionMethod() : HttpControllerResponseInterface
- Invokes an action method by the given action name.
- _getPostData() : string|null
- Returns the expected $_POST value by the given key name.
- _getPostDataCollection() : KeyValueCollection
- Creates and returns a key value collection which represent the global $_POST array.
- _getQueryParameter() : mixed|null
- Returns the expected $_GET value by the given key name.
- _getQueryParametersCollection() : KeyValueCollection
- Creates and returns a key value collection which represent the global $_GET array.
- _getServerData() : string|null
- Returns the expected $_SERVER value by the given key name.
- _render() : string
- Renders and returns a template file.
- _validatePageToken() : mixed
- Check if the $_POST['pageToken'] or $_GET['pageToken'] variable is provided and if it's valid.
- getTemplateFile() : ExistingFile
- Searches the GXModules directory and admin/html directory for a template file, wich can be useed inside the AdminLayoutHttpControllerResponse object for the template parameter.
- isUsing2fa() : bool
- Return whether the customer is using 2FA
- responseByTemplateAndData() : HttpControllerResponse|RedirectHttpControllerResponse
- Return a response by the provided template and view data
- responseForConfigurationStep() : HttpControllerResponse|RedirectHttpControllerResponse
- Return response for the provided step after processing the data
- templateDataForConfigurationStep() : KeyValueCollection
- Return template data for the provided step
Properties
$assets
protected
AssetCollectionInterface
$assets
$contentView
protected
ContentViewInterface
$contentView
$customerId
Customer ID
protected
IdType
$customerId
$customerServiceFactory
Customer service factory
protected
CustomerServiceFactory
$customerServiceFactory
$httpContextReader
protected
HttpContextReaderInterface
$httpContextReader
$httpResponseProcessor
protected
HttpResponseProcessorInterface
$httpResponseProcessor
$languageTextManager
Language text manager
protected
LanguageTextManager
$languageTextManager
$messageStack
Reference to the message stack
protected
messageStack_ORIGIN
$messageStack
$postDataArray
protected
array<string|int, mixed>
$postDataArray
$queryParametersArray
protected
array<string|int, mixed>
$queryParametersArray
$serverDataArray
protected
array<string|int, mixed>
$serverDataArray
$twoFactorAuthServiceFactory
Two-factor-authentication service factory
protected
TwoFactorAuthServiceFactory
$twoFactorAuthServiceFactory
Methods
__construct()
public
__construct(HttpContextReaderInterface $httpContextReader, HttpResponseProcessorInterface $httpResponseProcessor, ContentViewInterface $defaultContentView) : mixed
Parameters
- $httpContextReader : HttpContextReaderInterface
- $httpResponseProcessor : HttpResponseProcessorInterface
- $defaultContentView : ContentViewInterface
Return values
mixed —actionConfigure()
Return the configuration view if customer is not using 2FA Otherwise a redirection to the edit view is returned
public
actionConfigure() : RedirectHttpControllerResponse|HttpControllerResponse
Return values
RedirectHttpControllerResponse|HttpControllerResponse —Redirection or configuration view
actionDeactivate()
Deactivate the two-factor-authentication for the current customer
public
actionDeactivate() : mixed
Return values
mixed —actionDefault()
Redirect either to the edit view or to the configuration view
public
actionDefault() : RedirectHttpControllerResponse
Return values
RedirectHttpControllerResponse —Edit or configuration view redirection
actionEdit()
Return the edit view if customer is using 2FA Otherwise a redirection to the configuration view is returned
public
actionEdit() : RedirectHttpControllerResponse|HttpControllerResponse
Return values
RedirectHttpControllerResponse|HttpControllerResponse —Redirection or edit view
init()
Initialize
public
init() : mixed
Tags
Return values
mixed —proceed()
Processes a http response object which is get by invoking an action method.
public
proceed(HttpContextInterface $httpContext) : mixed
The action method is determined by the http context reader instance and the current request context. Re-implement this method in child classes to enable XSS and CSRF protection on demand.
Parameters
- $httpContext : HttpContextInterface
-
Http context object which hold the request variables.
Tags
Return values
mixed —_callActionMethod()
Invokes an action method by the given action name.
protected
_callActionMethod(string $actionName) : HttpControllerResponseInterface
Parameters
- $actionName : string
-
Name of action method to call, without 'action'-Suffix.
Tags
Return values
HttpControllerResponseInterface —Response message.
_getPostData()
Returns the expected $_POST value by the given key name.
protected
_getPostData(string $keyName) : string|null
This method is the object oriented layer for $_POST[$keyName].
Parameters
- $keyName : string
-
Expected key of post parameter.
Return values
string|null —Either the expected value or null, of not found.
_getPostDataCollection()
Creates and returns a key value collection which represent the global $_POST array.
protected
_getPostDataCollection() : KeyValueCollection
Return values
KeyValueCollection —_getQueryParameter()
Returns the expected $_GET value by the given key name.
protected
_getQueryParameter(string $keyName) : mixed|null
This method is the object oriented layer for $_GET[$keyName].
Parameters
- $keyName : string
-
Expected key of query parameter.
Return values
mixed|null —Either the expected value or null, of not found.
_getQueryParametersCollection()
Creates and returns a key value collection which represent the global $_GET array.
protected
_getQueryParametersCollection() : KeyValueCollection
Return values
KeyValueCollection —_getServerData()
Returns the expected $_SERVER value by the given key name.
protected
_getServerData(string $keyName) : string|null
This method is the object oriented layer for $_SERVER[$keyName].
Parameters
- $keyName : string
-
Expected key of server parameter.
Return values
string|null —Either the expected value or null, of not found.
_render()
Renders and returns a template file.
protected
_render(string $templateFile, array<string|int, mixed> $contentArray) : string
Parameters
- $templateFile : string
-
Template file to render.
- $contentArray : array<string|int, mixed>
-
Content array which represent the variables of the template.
Return values
string —Rendered template.
_validatePageToken()
Check if the $_POST['pageToken'] or $_GET['pageToken'] variable is provided and if it's valid.
protected
_validatePageToken([string $customExceptionMessage = null ]) : mixed
Example: public function proceed(HttpContextInterface $httpContext) { parent::proceed($httpContext); // proceed http context from parent class if($_SERVER['REQUEST_METHOD'] === 'POST') { $this->_validatePageToken(); // CSRF Protection } }
Parameters
- $customExceptionMessage : string = null
-
(optional) You can specify a custom exception message.
Tags
Return values
mixed —getTemplateFile()
Searches the GXModules directory and admin/html directory for a template file, wich can be useed inside the AdminLayoutHttpControllerResponse object for the template parameter.
protected
getTemplateFile(string $templateFile) : ExistingFile
Parameters
- $templateFile : string
-
The relative path and filename to search for
Tags
Return values
ExistingFile —containing absolute file path to the given template file
isUsing2fa()
Return whether the customer is using 2FA
protected
isUsing2fa() : bool
Return values
bool —Customer 2FA usage status
responseByTemplateAndData()
Return a response by the provided template and view data
protected
responseByTemplateAndData(NonEmptyStringType $template[, KeyValueCollection|null $data = null ]) : HttpControllerResponse|RedirectHttpControllerResponse
Parameters
- $template : NonEmptyStringType
-
Template file name residing in 'GXModules/Gambio/TwoFactorAuth/Shop/Html'
- $data : KeyValueCollection|null = null
-
View data
Return values
HttpControllerResponse|RedirectHttpControllerResponse —Response
responseForConfigurationStep()
Return response for the provided step after processing the data
protected
responseForConfigurationStep(ConfigurationStep $step, NonEmptyStringType $template[, KeyValueCollection|null $data = null ]) : HttpControllerResponse|RedirectHttpControllerResponse
Parameters
- $step : ConfigurationStep
-
Current step
- $template : NonEmptyStringType
-
Template
- $data : KeyValueCollection|null = null
-
Data
Return values
HttpControllerResponse|RedirectHttpControllerResponse —Response
templateDataForConfigurationStep()
Return template data for the provided step
protected
templateDataForConfigurationStep(ConfigurationStep $step) : KeyValueCollection
Parameters
- $step : ConfigurationStep
-
Current step
Return values
KeyValueCollection —Template data