diff --git a/ui_handler.go b/ui_handler.go index 2b79e30..de1c17a 100644 --- a/ui_handler.go +++ b/ui_handler.go @@ -269,7 +269,27 @@ func (h *WebUiHandler) handleWebUiRequest(w http.ResponseWriter, r *http.Request h.confirmDeleteToken(w, r) case "/delete-token": h.deleteToken(w, r) + case "/confirm-logout": + tmpl, err := h.loadTemplate("confirm.tmpl") + if err != nil { + w.WriteHeader(500) + h.alertDialog(w, r, err.Error(), "/#/tunnels") + return + } + data := &ConfirmData{ + Head: h.headHtml, + Message: "Are you sure you want to log out?", + ConfirmUrl: "/logout", + CancelUrl: "/#/tunnels", + } + + tmpl.Execute(w, data) + + case "/logout": + cookie := &http.Cookie{Name: "access_token", Value: "", Secure: true, HttpOnly: true} + http.SetCookie(w, cookie) + http.Redirect(w, r, "/#/tunnels", 303) default: w.WriteHeader(404) h.alertDialog(w, r, "Unknown page "+r.URL.Path, "/#/tunnels") diff --git a/webui/menu.tmpl b/webui/menu.tmpl index 00683a4..aa1e464 100644 --- a/webui/menu.tmpl +++ b/webui/menu.tmpl @@ -6,4 +6,5 @@ {{if .IsAdmin}} Users {{end}} + Logout diff --git a/webui/styles.css b/webui/styles.css index be7ce9c..7231f69 100644 --- a/webui/styles.css +++ b/webui/styles.css @@ -43,7 +43,7 @@ main { .menu-item:hover { background: var(--hover-color); } -.menu-item:visited { +.menu-item:link, .menu-item:visited { color: #000; }