mirror of
https://github.com/elyby/accounts.git
synced 2024-12-27 07:30:18 +05:30
Merge branch '366-mfa-fixes' into develop
This commit is contained in:
commit
55e3c65d6d
@ -18,7 +18,7 @@ class EnableTwoFactorAuthForm extends AccountActionForm {
|
|||||||
return [
|
return [
|
||||||
['account', 'validateOtpDisabled'],
|
['account', 'validateOtpDisabled'],
|
||||||
['totp', 'required', 'message' => E::TOTP_REQUIRED],
|
['totp', 'required', 'message' => E::TOTP_REQUIRED],
|
||||||
['totp', TotpValidator::class, 'account' => $this->getAccount()],
|
['totp', TotpValidator::class, 'account' => $this->getAccount(), 'window' => 2],
|
||||||
['password', PasswordRequiredValidator::class, 'account' => $this->getAccount()],
|
['password', PasswordRequiredValidator::class, 'account' => $this->getAccount()],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ class TotpValidator extends Validator {
|
|||||||
* @var int|null Задаёт окно, в промежуток которого будет проверяться код.
|
* @var int|null Задаёт окно, в промежуток которого будет проверяться код.
|
||||||
* Позволяет избежать ситуации, когда пользователь ввёл код в последнюю секунду
|
* Позволяет избежать ситуации, когда пользователь ввёл код в последнюю секунду
|
||||||
* его существования и пока шёл запрос, тот протух.
|
* его существования и пока шёл запрос, тот протух.
|
||||||
* Значение задаётся в +- кодах, а не секундах.
|
* Значение задаётся в +- периодах, а не секундах.
|
||||||
*/
|
*/
|
||||||
public $window;
|
public $window;
|
||||||
|
|
||||||
|
@ -58,4 +58,15 @@ class EnableTwoFactorAuthCest {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testSuccessEnableWithNotSoExpiredCode(FunctionalTester $I) {
|
||||||
|
$accountId = $I->amAuthenticated('AccountWithOtpSecret');
|
||||||
|
$totp = TOTP::create('AAAA');
|
||||||
|
$this->route->enableTwoFactorAuth($accountId, $totp->at(time() - 35), 'password_0');
|
||||||
|
$I->canSeeResponseCodeIs(200);
|
||||||
|
$I->canSeeResponseIsJson();
|
||||||
|
$I->canSeeResponseContainsJson([
|
||||||
|
'success' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user