From 1b20f4bf1e547fcc869a644d390963d9ee225af6 Mon Sep 17 00:00:00 2001 From: Maxime Levillain Date: Tue, 9 Sep 2025 15:58:15 +0200 Subject: [PATCH] set token only once connection succeeded --- interface/common/i.ml | 2 +- interface/ui/ui.ml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/interface/common/i.ml b/interface/common/i.ml index e83cabb..963f2ec 100644 --- a/interface/common/i.ml +++ b/interface/common/i.ml @@ -54,7 +54,7 @@ type error += | BadGateway of bad_gateway [@code 502] [@nowrap] | InvalidProof of string [@code 422] | UiError of string list -[@@deriving err_case {code=500; debug}] +[@@deriving err_case {code=500}] let error_enc = Json_encoding.union (List.map snd !_error_cases_error) [@@@jsoo diff --git a/interface/ui/ui.ml b/interface/ui/ui.ml index 51fc829..a9d5c74 100644 --- a/interface/ui/ui.ml +++ b/interface/ui/ui.ml @@ -129,11 +129,9 @@ let clean_login app = let set_token ?st app = match to_optdef to_string app##.login, to_optdef to_string app##.password with | Some login, Some password when login <> "" && password <> "" -> - let token = Base64.encode_exn (login ^ ":" ^ password) in - app##.token := def (string token); app##.password := undefined; + let token = Base64.encode_exn (login ^ ":" ^ password) in let storage = match st with None -> storage () | Some st -> st in - storage##setItem (string "token") (string token); let headers = headers app in let> r = Serv.Api.get_connect ~headers (EzAPI.BASE !config.api) in (match r with @@ -141,6 +139,8 @@ let set_token ?st app = clean_login app; Lwt.return false | Ok () -> + app##.token := def (string token); + storage##setItem (string "token") (string token); Lwt.return true) | _ -> log_str "empty login or password"; Lwt.return false -- GitLab