Fix #110 - Reset WebAuthn user options after last device revocation

This commit is contained in:
Bubka
2022-08-10 18:39:41 +02:00
parent caf72a6c9f
commit fbb85342c1
2 changed files with 17 additions and 1 deletions

View File

@ -2,6 +2,7 @@
namespace App\Http\Controllers\Auth;
use App\Facades\Settings;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Requests\WebauthnRenameRequest;
@ -72,6 +73,13 @@ class WebAuthnManageController extends Controller
$user = $request->user();
$user->removeCredential($credential);
// Webauthn user options should be reset to prevent impossible login
// See #110
if (blank($user->allCredentialDescriptors())) {
Settings::delete('useWebauthnAsDefault');
Settings::delete('useWebauthnOnly');
}
return response()->json(null, 204);
}
}