fix: improve prerequisites verification with automatic redirection
**Motivations :** - Chaque page doit vérifier ses prérequis et rediriger automatiquement si nécessaire - Erreur avec SecureCredentialsService: 'is not a constructor' - Amélioration de l'ordre de vérification des prérequis (PBKDF2 key d'abord, puis wallet) - Redirection automatique vers la page appropriée si les prérequis ne sont pas remplis **Modifications :** - Correction de l'utilisation de SecureCredentialsService: utilisation de getInstance() au lieu de new - Amélioration de la vérification des prérequis dans birthday-setup.ts avec redirection automatique - Vérification du PBKDF2 key en premier (prérequis le plus basique) - Redirection vers security-setup si le PBKDF2 key n'est pas trouvé - Redirection vers wallet-setup si le wallet n'est pas trouvé - Amélioration de wallet-setup.ts pour rediriger vers security-setup si aucune clé PBKDF2 n'est trouvée **Pages affectées :** - src/pages/birthday-setup/birthday-setup.ts (vérification des prérequis améliorée) - src/pages/wallet-setup/wallet-setup.ts (redirection vers security-setup)
This commit is contained in:
parent
bb5f70a48f
commit
6f9baf6f56
@ -36,16 +36,9 @@ 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 wallet existe en base
|
// Vérifier que le PBKDF2 key existe d'abord (prérequis le plus basique)
|
||||||
const wallet = await services.getDeviceFromDatabase();
|
const { SecureCredentialsService } = await import('../../services/secure-credentials.service');
|
||||||
if (!wallet) {
|
const secureCredentials = SecureCredentialsService.getInstance();
|
||||||
throw new Error('Wallet not found in database. Please complete wallet setup first.');
|
|
||||||
}
|
|
||||||
console.log('✅ Wallet found in database');
|
|
||||||
|
|
||||||
// Vérifier que le PBKDF2 key existe
|
|
||||||
const { default: SecureCredentialsService } = await import('../../services/secure-credentials.service');
|
|
||||||
const secureCredentials = new SecureCredentialsService();
|
|
||||||
|
|
||||||
let pbkdf2KeyFound = false;
|
let pbkdf2KeyFound = false;
|
||||||
const securityModes = ['none', 'password', 'os', 'proton-pass'];
|
const securityModes = ['none', 'password', 'os', 'proton-pass'];
|
||||||
@ -63,8 +56,25 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!pbkdf2KeyFound) {
|
if (!pbkdf2KeyFound) {
|
||||||
throw new Error('PBKDF2 key not found. Please complete security setup first.');
|
console.log('⚠️ PBKDF2 key not found, redirecting to security-setup...');
|
||||||
|
updateStatus('⚠️ Redirection vers la configuration de sécurité...', 'loading');
|
||||||
|
setTimeout(() => {
|
||||||
|
window.location.href = '/src/pages/security-setup/security-setup.html';
|
||||||
|
}, 1000);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Vérifier que le wallet existe en base
|
||||||
|
const wallet = await services.getDeviceFromDatabase();
|
||||||
|
if (!wallet) {
|
||||||
|
console.log('⚠️ Wallet not found, redirecting to wallet-setup...');
|
||||||
|
updateStatus('⚠️ Redirection vers la configuration du wallet...', 'loading');
|
||||||
|
setTimeout(() => {
|
||||||
|
window.location.href = '/src/pages/wallet-setup/wallet-setup.html';
|
||||||
|
}, 1000);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log('✅ Wallet found in database');
|
||||||
console.log('✅ All prerequisites verified');
|
console.log('✅ All prerequisites verified');
|
||||||
|
|
||||||
// Connexion aux relais
|
// Connexion aux relais
|
||||||
|
|||||||
@ -173,12 +173,14 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CRITICAL: Si aucune clé PBKDF2 n'est disponible, arrêter immédiatement
|
// CRITICAL: Si aucune clé PBKDF2 n'est disponible, rediriger vers security-setup
|
||||||
if (!currentMode) {
|
if (!currentMode) {
|
||||||
console.error('❌ CRITICAL: No PBKDF2 key found for any security mode.');
|
console.log('⚠️ No PBKDF2 key found, redirecting to security-setup...');
|
||||||
console.error('❌ Cannot proceed with wallet creation without encryption key.');
|
updateStatus('⚠️ Redirection vers la configuration de sécurité...', 'loading');
|
||||||
updateStatus('❌ Erreur: Aucune clé de chiffrement trouvée. Veuillez configurer la sécurité.', 'error');
|
setTimeout(() => {
|
||||||
throw new Error('CRITICAL: No PBKDF2 key found. Cannot create wallet without encryption key.');
|
window.location.href = '/src/pages/security-setup/security-setup.html';
|
||||||
|
}, 1000);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('🔐 Using security mode for wallet encryption:', currentMode);
|
console.log('🔐 Using security mode for wallet encryption:', currentMode);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user