feat: login écran + clé API utilisateur + affichage nom connecté

- Route POST /api/auth/validate (backend) : valide la clé contre Imago
- AppState supporte clé dynamique (X-Api-Key header utilisateur)
- Écran de login overlay avec champ clé API + validation
- Nom d'utilisateur affiché dans le header (👤 bruno) avec bouton logout
- Stockage clé + nom dans localStorage (persiste entre sessions)
- Tous les appels API incluent X-Api-Key du frontend
This commit is contained in:
2026-06-23 11:14:44 -04:00
parent f25174f143
commit a020cc3099
3 changed files with 320 additions and 13 deletions
+2
View File
@@ -35,6 +35,8 @@ pub async fn serve_with_config(host: &str, port: u16, config: &Config) -> anyhow
// État partagé
let state = routes::AppState {
imago,
base_url: config.imago.url.clone(),
api_key: config.imago.api_key.clone(),
ws_hub: ws_hub.clone(),
};