From 59215a2b84a2c24ba71b1ae53795d3fc5d66d556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=9C=E8=8F=AF?= Date: Sun, 18 Jun 2023 11:01:26 +0800 Subject: [PATCH] signout --- routers/sessions.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/routers/sessions.go b/routers/sessions.go index 19e4832..bea3d5b 100644 --- a/routers/sessions.go +++ b/routers/sessions.go @@ -128,7 +128,7 @@ func SessionsItemDelete(w http.ResponseWriter, r *http.Request) { return } - // 獲取當前session + // 獲取當前 session session := models.Session{ID: cookie.Value} if err := configs.ORMDB().Find(&session).Error; err != nil { w.WriteHeader(http.StatusUnauthorized) @@ -158,6 +158,13 @@ func SessionsItemDelete(w http.ResponseWriter, r *http.Request) { w.Write([]byte("404 - Not Found")) return } + + // 如果目标 ssession_id 和当前 session_id 相同, 则清除 Cookie + if sessionx.ID == session.ID { + cookie := http.Cookie{Name: "session_id", Value: "", Path: "/", HttpOnly: true, MaxAge: -1} + http.SetCookie(w, &cookie) + } + w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Write(utils.ToJSON(sessionx)) }