Background
Currently, if a user loses access to all of their 2FA methods, they reach out to Trust & Safety, who (after verifying the request) disables 2FA on the user's account. Given that we want to go towards a situation, where certain groups of users cannot have their 2FA disabled, this process doesn't fit well into the general concept of 2FA requirement.
Feature description
We'd like to build a new special page, Special:RecoverOATHForUser, where T&S officers can generate a new set of recovery keys for a given user. The initial form on the new special page will be similar to the one at Special:DisableOATHForUser. Eventually, the old page will be deleted.
Acceptance criteria
- Upon submitting Special:RecoverOATHForUser, $wgOATHRecoveryCodesCount (10) new recovery codes are generated for the target user.
- Recovery codes are sent to the user by e-mail. If the target user has no e-mail set, the T&S officer is prompted to enter an e-mail address to send the codes to.
- The target user receives a notification via Echo that new recovery codes have been generated for their account. The notification asks user to immediately contact T&S if this action wasn't initiated by themselves.
- The original recovery codes are kept and can be used by the target account to log in.