MDL-84009 factor_webauthn: Add additional security keys
This commit is contained in:
@@ -115,6 +115,15 @@ class factor extends object_factor_base {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if an additional setup button should be shown on the preferences page.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function show_additional_setup_button(): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* WebAuthn factor implementation.
|
||||
*
|
||||
@@ -155,6 +164,15 @@ class factor extends object_factor_base {
|
||||
return get_string('setupfactorbutton', 'factor_webauthn');
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the string for additional setup button on preferences page.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_additional_setup_string(): string {
|
||||
return get_string('setupfactorbuttonadditional', 'factor_webauthn');
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the string for manage button on preferences page.
|
||||
*
|
||||
|
||||
@@ -51,6 +51,7 @@ $string['settings:userverification'] = 'User verification';
|
||||
$string['settings:userverification_help'] = 'Serves to ensure the person authenticating is in fact who they say they are. User verification can take various forms, such as password, PIN, fingerprint, etc.';
|
||||
$string['setupfactor'] = 'Set up security key';
|
||||
$string['setupfactorbutton'] = 'Set up';
|
||||
$string['setupfactorbuttonadditional'] = 'Add security key';
|
||||
$string['setupfactor:instructionsregistersecuritykey'] = '2. Register a security key.';
|
||||
$string['setupfactor:instructionssecuritykeyname'] = '1. Give your key a name.';
|
||||
$string['setupfactor:intro'] = 'A security key is a physical device that you can use to authenticate yourself. Security keys can be USB tokens, Bluetooth devices, or event built-in fingerprint scanners on your phone or computer.';
|
||||
|
||||
@@ -32,6 +32,7 @@ Feature: Set up and manage user factors
|
||||
And I click on "Cancel" "button"
|
||||
And I click on "Manage security key" "button"
|
||||
And I should see "Manage security key"
|
||||
And I should see "Add security key"
|
||||
|
||||
@javascript
|
||||
Scenario: I can revoke a factor only when there is more than one active factor
|
||||
@@ -76,3 +77,15 @@ Feature: Set up and manage user factors
|
||||
And I click on "Replace" "button" in the "MacBook" "table_row"
|
||||
When I click on "Yes, replace" "button" in the "Replace 'MacBook' security key?" "dialogue"
|
||||
Then I should see "Replace security key"
|
||||
|
||||
Scenario: I can add a new factor instance on the manage factor page
|
||||
Given the following config values are set as admin:
|
||||
| enabled | 1 | factor_webauthn |
|
||||
And the following "tool_mfa > User factors" exist:
|
||||
| username | factor | label |
|
||||
| admin | webauthn | MacBook |
|
||||
And I follow "Preferences" in the user menu
|
||||
And I click on "Multi-factor authentication preferences" "link"
|
||||
And I click on "Manage security key" "button"
|
||||
When I click on "Add security key" "button"
|
||||
Then I should see "Set up security key"
|
||||
|
||||
Reference in New Issue
Block a user