MDL-78534 Authentication: MFA refactoring and clean up
General refactoring and cleanup of MFA code, to allow for easier addition of UX improvements.
This commit is contained in:
@@ -45,7 +45,7 @@ class plugininfo_factor_test extends \advanced_testcase {
|
||||
$this->setUser($user);
|
||||
|
||||
// Test that with no enabled factors, fallback is returned.
|
||||
$this->assertEquals('fallback', \tool_mfa\plugininfo\factor::get_next_user_factor()->name);
|
||||
$this->assertEquals('fallback', \tool_mfa\plugininfo\factor::get_next_user_login_factor()->name);
|
||||
|
||||
// Setup enabled totp factor for user.
|
||||
set_config('enabled', 1, 'factor_totp');
|
||||
@@ -57,11 +57,11 @@ class plugininfo_factor_test extends \advanced_testcase {
|
||||
$this->assertNotEmpty($totpfactor->setup_user_factor((object) $totpdata));
|
||||
|
||||
// Test that factor now appears (from STATE_UNKNOWN).
|
||||
$this->assertEquals('totp', \tool_mfa\plugininfo\factor::get_next_user_factor()->name);
|
||||
$this->assertEquals('totp', \tool_mfa\plugininfo\factor::get_next_user_login_factor()->name);
|
||||
|
||||
// Now pass this factor, check for fallback.
|
||||
$totpfactor->set_state(\tool_mfa\plugininfo\factor::STATE_PASS);
|
||||
$this->assertEquals('fallback', \tool_mfa\plugininfo\factor::get_next_user_factor()->name);
|
||||
$this->assertEquals('fallback', \tool_mfa\plugininfo\factor::get_next_user_login_factor()->name);
|
||||
|
||||
// Add in a no-input factor.
|
||||
set_config('enabled', 1, 'factor_auth');
|
||||
@@ -73,6 +73,6 @@ class plugininfo_factor_test extends \advanced_testcase {
|
||||
|
||||
// Check that the next factor is still the fallback factor.
|
||||
$this->assertEquals(2, count(\tool_mfa\plugininfo\factor::get_active_user_factor_types()));
|
||||
$this->assertEquals('fallback', \tool_mfa\plugininfo\factor::get_next_user_factor()->name);
|
||||
$this->assertEquals('fallback', \tool_mfa\plugininfo\factor::get_next_user_login_factor()->name);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user