Merge pull request #7950 from appwrite/fix-recovery-code-removal

Fix: recovery code removal
This commit is contained in:
Eldad A. Fux 2024-04-11 17:28:15 +02:00 committed by GitHub
commit 8dd9b58513
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3821,6 +3821,7 @@ App::delete('/v1/account/mfa/authenticators/:type')
$mfaRecoveryCodes = $user->getAttribute('mfaRecoveryCodes', []);
if (in_array($otp, $mfaRecoveryCodes)) {
$mfaRecoveryCodes = array_diff($mfaRecoveryCodes, [$otp]);
$mfaRecoveryCodes = array_values($mfaRecoveryCodes);
$user->setAttribute('mfaRecoveryCodes', $mfaRecoveryCodes);
$dbForProject->updateDocument('users', $user->getId(), $user);
@ -4069,6 +4070,7 @@ App::put('/v1/account/mfa/challenge')
$mfaRecoveryCodes = $user->getAttribute('mfaRecoveryCodes', []);
if (in_array($otp, $mfaRecoveryCodes)) {
$mfaRecoveryCodes = array_diff($mfaRecoveryCodes, [$otp]);
$mfaRecoveryCodes = array_values($mfaRecoveryCodes);
$user->setAttribute('mfaRecoveryCodes', $mfaRecoveryCodes);
$dbForProject->updateDocument('users', $user->getId(), $user);