* The skip_2fa URL previously accepted the customer API key. The two are now
* separate secrets, so any existing backdoor URL stops working and the
* administrator has to copy the new one from the login settings page.
*/
functionminiorange_2fa_update_8308(){
$token=MoAuthUtilities::moEnsureBackdoorToken();
if(empty($token)){
returnt('Could not generate a backdoor token.');
}
returnt('A dedicated backdoor (2FA skip) token has been generated. The old skip_2fa URL, which used the customer API key, no longer works - copy the new Backdoor URL from Configuration > People > miniOrange 2FA > Login Settings. Rotating your miniOrange customer API key is also recommended.');