fix: use correct methods to check PBKDF2 key in birthday-setup

**Motivations :**
- birthday-setup.ts utilisait getPBKDF2Key() qui n'existe pas dans SecureCredentialsService
- wallet-setup.ts trouve la clé PBKDF2 mais birthday-setup.ts ne la trouve pas
- Il faut utiliser les mêmes méthodes que wallet-setup.ts (hasPBKDF2Key + retrievePBKDF2Key)

**Modifications :**
- Remplacement de getPBKDF2Key() par hasPBKDF2Key() puis retrievePBKDF2Key()
- Utilisation de la même approche que wallet-setup.ts pour vérifier la clé PBKDF2
- Ajout du mode 'otp' à la liste des modes de sécurité pour correspondre à wallet-setup.ts
- Amélioration des messages de log pour indiquer explicitement la vérification dans le store pbkdf2keys

**Pages affectées :**
- src/pages/birthday-setup/birthday-setup.ts (correction de la vérification PBKDF2)
This commit is contained in:
NicolasCantu 2025-10-29 13:10:57 +01:00
parent aedfa09bbc
commit ad28b37903
2 changed files with 15 additions and 9 deletions

View File

@ -36,27 +36,33 @@ document.addEventListener('DOMContentLoaded', async () => {
updateStatus('🔍 Vérification des prérequis...', 'loading'); updateStatus('🔍 Vérification des prérequis...', 'loading');
updateProgress(20); updateProgress(20);
// Vérifier que le PBKDF2 key existe d'abord (prérequis le plus basique) // Vérifier que le PBKDF2 key existe d'abord (prérequis le plus basique) dans le store pbkdf2keys
const { SecureCredentialsService } = await import('../../services/secure-credentials.service'); const { SecureCredentialsService } = await import('../../services/secure-credentials.service');
const secureCredentials = SecureCredentialsService.getInstance(); const secureCredentials = SecureCredentialsService.getInstance();
let pbkdf2KeyFound = false; let pbkdf2KeyFound = false;
const securityModes = ['none', 'password', 'os', 'proton-pass']; const securityModes = ['none', 'otp', 'password', 'os', 'proton-pass'];
for (const mode of securityModes) { for (const mode of securityModes) {
try { try {
const key = await secureCredentials.getPBKDF2Key(mode); // Vérifier d'abord silencieusement si une clé existe dans le store pbkdf2keys
const hasKey = await secureCredentials.hasPBKDF2Key(mode as any);
if (hasKey) {
// Si une clé existe, essayer de la récupérer
const key = await secureCredentials.retrievePBKDF2Key(mode as any);
if (key) { if (key) {
pbkdf2KeyFound = true; pbkdf2KeyFound = true;
console.log(`✅ PBKDF2 key found for security mode: ${mode}`); console.log(`✅ PBKDF2 key found in pbkdf2keys store for security mode: ${mode}`);
break; break;
} }
}
} catch (error) { } catch (error) {
// Continue to next mode // Continue to next mode
console.log(`⚠️ No PBKDF2 key found in pbkdf2keys store for mode ${mode}`);
} }
} }
if (!pbkdf2KeyFound) { if (!pbkdf2KeyFound) {
console.log('⚠️ PBKDF2 key not found, redirecting to security-setup...'); console.log('⚠️ PBKDF2 key not found in pbkdf2keys store, redirecting to security-setup...');
updateStatus('⚠️ Redirection vers la configuration de sécurité...', 'loading'); updateStatus('⚠️ Redirection vers la configuration de sécurité...', 'loading');
setTimeout(() => { setTimeout(() => {
window.location.href = '/src/pages/security-setup/security-setup.html'; window.location.href = '/src/pages/security-setup/security-setup.html';