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');
|
||||
updateProgress(20);
|
||||
|
||||
// Vérifier que le wallet existe en base
|
||||
const wallet = await services.getDeviceFromDatabase();
|
||||
if (!wallet) {
|
||||
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();
|
||||
// Vérifier que le PBKDF2 key existe d'abord (prérequis le plus basique)
|
||||
const { SecureCredentialsService } = await import('../../services/secure-credentials.service');
|
||||
const secureCredentials = SecureCredentialsService.getInstance();
|
||||
|
||||
let pbkdf2KeyFound = false;
|
||||
const securityModes = ['none', 'password', 'os', 'proton-pass'];
|
||||
@ -63,8 +56,25 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
}
|
||||
|
||||
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');
|
||||
|
||||
// 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) {
|
||||
console.error('❌ CRITICAL: No PBKDF2 key found for any security mode.');
|
||||
console.error('❌ Cannot proceed with wallet creation without encryption key.');
|
||||
updateStatus('❌ Erreur: Aucune clé de chiffrement trouvée. Veuillez configurer la sécurité.', 'error');
|
||||
throw new Error('CRITICAL: No PBKDF2 key found. Cannot create wallet without encryption key.');
|
||||
console.log('⚠️ No PBKDF2 key 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;
|
||||
}
|
||||
|
||||
console.log('🔐 Using security mode for wallet encryption:', currentMode);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user