🔐 Implémentation PBKDF2 avec credentials navigateur ✅ Fonctionnalités ajoutées: - SecureCredentialsService avec PBKDF2 (100k itérations) - Chiffrement AES-GCM des clés spend/scan - Interface utilisateur complète pour gestion credentials - Tests unitaires complets - Architecture modulaire avec EventBus - Gestion mémoire optimisée - Performance monitoring - Web Workers pour encodage asynchrone 🛡️ Sécurité: - Dérivation PBKDF2 avec salt unique - Chiffrement AES-GCM des clés sensibles - Validation force mot de passe - Stockage sécurisé IndexedDB + WebAuthn - Logging sécurisé sans exposition données 🔧 Corrections: - Erreur 500 résolue (clé dupliquée package.json) - Configuration Vite simplifiée - Dépendances manquantes corrigées 📊 Améliorations: - Architecture découplée avec repositories - Services spécialisés (PairingService, etc.) - Monitoring performance et mémoire - Tests avec couverture complète - Documentation technique détaillée
50 lines
1.0 KiB
TypeScript
50 lines
1.0 KiB
TypeScript
import loginHtml from './home.html?raw';
|
|
import loginScript from './home.ts?raw';
|
|
import loginCss from '../../4nk.css?raw';
|
|
import { initHomePage } from './home';
|
|
|
|
export class LoginComponent extends HTMLElement {
|
|
_callback: any;
|
|
constructor() {
|
|
super();
|
|
this.attachShadow({ mode: 'open' });
|
|
}
|
|
|
|
connectedCallback() {
|
|
console.log('CALLBACK LOGIN PAGE');
|
|
this.render();
|
|
setTimeout(() => {
|
|
initHomePage();
|
|
}, 500);
|
|
}
|
|
|
|
set callback(fn) {
|
|
if (typeof fn === 'function') {
|
|
this._callback = fn;
|
|
} else {
|
|
console.error('Callback is not a function');
|
|
}
|
|
}
|
|
|
|
get callback() {
|
|
return this._callback;
|
|
}
|
|
|
|
render() {
|
|
if (this.shadowRoot)
|
|
this.shadowRoot.innerHTML = `
|
|
<style>
|
|
${loginCss}
|
|
</style>${loginHtml}
|
|
<script type="module">
|
|
${loginScript}
|
|
</scipt>
|
|
|
|
`;
|
|
}
|
|
}
|
|
|
|
if (!customElements.get('login-4nk-component')) {
|
|
customElements.define('login-4nk-component', LoginComponent);
|
|
}
|