feat: add prerequisites verification in birthday-setup
**Motivations :** - Chaque page doit vérifier ses prérequis en base pour éviter les erreurs - La page birthday-setup s'arrêtait sans wallet en base - Il faut s'assurer que le wallet et le PBKDF2 key existent avant de continuer **Modifications :** - Ajout de la vérification des prérequis dans birthday-setup.ts - Vérification que le wallet existe en base de données - Vérification que le PBKDF2 key existe pour au moins un mode de sécurité - Ajout de messages d'erreur explicites si les prérequis ne sont pas remplis - Amélioration de la vérification des prérequis dans wallet-setup.ts **Pages affectées :** - src/pages/birthday-setup/birthday-setup.ts (vérification des prérequis) - src/pages/wallet-setup/wallet-setup.ts (amélioration de la vérification)
This commit is contained in:
parent
2ce11599e2
commit
bb5f70a48f
@ -1,4 +1,4 @@
|
|||||||
# Lecoffre
|
# IHM_CLIENT
|
||||||
|
|
||||||
voir README.md
|
voir README.md
|
||||||
|
|
||||||
|
|||||||
@ -32,6 +32,41 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
const services = await Services.getInstance();
|
const services = await Services.getInstance();
|
||||||
console.log('✅ Services instance obtained successfully');
|
console.log('✅ Services instance obtained successfully');
|
||||||
|
|
||||||
|
// Vérifier les prérequis en base de données
|
||||||
|
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();
|
||||||
|
|
||||||
|
let pbkdf2KeyFound = false;
|
||||||
|
const securityModes = ['none', 'password', 'os', 'proton-pass'];
|
||||||
|
for (const mode of securityModes) {
|
||||||
|
try {
|
||||||
|
const key = await secureCredentials.getPBKDF2Key(mode);
|
||||||
|
if (key) {
|
||||||
|
pbkdf2KeyFound = true;
|
||||||
|
console.log(`✅ PBKDF2 key found for security mode: ${mode}`);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
// Continue to next mode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!pbkdf2KeyFound) {
|
||||||
|
throw new Error('PBKDF2 key not found. Please complete security setup first.');
|
||||||
|
}
|
||||||
|
console.log('✅ All prerequisites verified');
|
||||||
|
|
||||||
// Connexion aux relais
|
// Connexion aux relais
|
||||||
await services.connectAllRelays();
|
await services.connectAllRelays();
|
||||||
console.log('✅ Relays connected successfully');
|
console.log('✅ Relays connected successfully');
|
||||||
|
|||||||
@ -109,6 +109,10 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
const { SecureCredentialsService } = await import('../../services/secure-credentials.service');
|
const { SecureCredentialsService } = await import('../../services/secure-credentials.service');
|
||||||
const secureCredentialsService = SecureCredentialsService.getInstance();
|
const secureCredentialsService = SecureCredentialsService.getInstance();
|
||||||
|
|
||||||
|
// Vérifier les prérequis en base de données
|
||||||
|
updateStatus('🔍 Vérification des prérequis...', 'loading');
|
||||||
|
updateProgress(20);
|
||||||
|
|
||||||
// Vérifier si des credentials existent déjà
|
// Vérifier si des credentials existent déjà
|
||||||
// CRITICAL: wallet-setup ne doit PAS générer de credentials
|
// CRITICAL: wallet-setup ne doit PAS générer de credentials
|
||||||
// Les credentials et clé PBKDF2 doivent être créés dans security-setup
|
// Les credentials et clé PBKDF2 doivent être créés dans security-setup
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user