# UserWallet – Écrans login (3.2) – À valider avant implémentation **Author:** Équipe 4NK **Date:** 2026-01-26 ## Statut **À valider avant implémentation.** Les écrans listés dans « reste à faire » (sélection service, sélection membre, construction chemin login, message à valider, collecte mFA, publication, vérification locale + résultat) ne doivent pas être implémentés tant que ce document n’a pas été validé. ## Contexte ### Service fourni par l’iframe - Le **service** (contrat + contrats fils complets du service) est fourni à l’appel de l’iframe via **channel message** (postMessage). - Si le message **n’est pas reçu** : usage du **contrat par défaut**, défini **en dur dans le code front**, jusqu’à réception du message. ### Écrans login actuels - Les **écrans du login sont déjà en place** (sélection service/membre, chemin, challenge, preuve, publication). - **Reste à implémenter** : les **notifications** en fonction des **événements des relais**, notamment : - **Collecte des signatures** et **clés de déchiffrement** pour savoir **quel message (hash)** aller chercher sur le relai. - Une fois le hash connu : récupération sur le relai des **signatures**, **contrats**, **membres**, **pairs**, **actions**, **champs**, etc. - Les notifications doivent donc piloter : quel hash fetch, puis fetch signatures/clés et mise à jour du graphe (contrats, membres, pairs, actions, champs). ## Écrans à préciser (après validation) - Sélection service / sélection membre. - Construction du chemin login. - Message de login à valider. - Collecte signatures mFA. - Publication. - Vérification locale + résultat. Ces écrans **évolueront avec l’avancement des tests** (cf. reste à faire). ## Références - `features/userwallet-contrat-login-reste-a-faire.md` (§ 3.2) - `userwallet/docs/specs.md` (machine à états, écrans) - `userwallet/src/utils/iframeChannel.ts`, `userwallet/src/hooks/useChannel.ts`