1. Go to this page and download the library: Download vxm/yii2-mfa library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
vxm / yii2-mfa example snippets
'components' => [
'user' => [
'as mfa' => [
'class' => 'vxm\mfa\Behavior',
'verifyUrl' => 'site/mfa-verify' // verify action, see bellow for setup it
]
],
]
use yii\db\ActiveRecord;
use vxm\mfa\IdentityInterface;
/**
* @property string $mfa_secret
*/
class User extends ActiveRecord implements IdentityInterface
{
public function getMfaSecretKey()
{
return $this->mfa_secret;
}
}
public function actions()
{
return [
'mfa-verify' => [
'class' => 'vxm\mfa\VerifyAction',
'viewFile' => 'mfa-verify', // the name of view file use to render view. If not set an action id will be use, in this case is `mfa-verify`
'formVar' => 'model', // the name of variable use to parse [[\vxm\mfa\OtpForm]] object to view file.
'retry' => true, // allow user retry when type wrong otp
'successCallback' => [$this, 'mfaPassed'], // callable call when user type valid otp if not set [[yii\web\Controller::goBack()]] will be call.
'invalidCallback' => [$this, 'mfaOtpInvalid'], // callable call when user type wrong otp if not set and property `retry` is false [[yii\web\User::loginRequired()]] will be call, it should be use for set flash notice to user.
'retry' => true, // allow user retry when type wrong otp
]
];
}