From 7c41346f5169cd2243e32ece65a1ff6abfc0d643 Mon Sep 17 00:00:00 2001 From: mountain Date: Tue, 20 Aug 2024 22:53:58 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=B8=EC=85=98=20=EC=B5=9C=EC=A0=81?= =?UTF-8?q?=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/api.go | 2 +- core/service.go | 27 +++------------------------ 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/core/api.go b/core/api.go index 2b00697..2d78737 100644 --- a/core/api.go +++ b/core/api.go @@ -201,7 +201,7 @@ func (caller apiCaller) blockAPI(w http.ResponseWriter, r *http.Request) error { bi.Accid = accid caller.mg.bl.add(&bi) - mg.sessionProvider.RevokeAll(accid) + mg.sessionProvider.Revoke(accid) } } } else if r.Method == "DELETE" { diff --git a/core/service.go b/core/service.go index 3e5aad4..21ba61f 100644 --- a/core/service.go +++ b/core/service.go @@ -681,7 +681,7 @@ func (sh *serviceDescription) authorize_dev(w http.ResponseWriter, r *http.Reque Accid: authinfo.Account, }) } - sh.sessionProvider.RevokeAll(authinfo.Account) + sh.sessionProvider.Revoke(authinfo.Account) } return @@ -706,7 +706,6 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) queryvals := r.URL.Query() reqauthtype := queryvals.Get("type") uid := queryvals.Get("id") - sk := queryvals.Get("sk") checksum := r.Header.Get("AS-X-CHECKSUM") if len(checksum) > 0 || sh.mustUseChecksum { @@ -714,7 +713,7 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) cookie := r.Header.Get("Cookie") h := md5.New() - h.Write([]byte(cookie + nonce + sk)) + h.Write([]byte(cookie + nonce)) if checksum != hex.EncodeToString(h.Sum(nil)) { w.WriteHeader(http.StatusBadRequest) @@ -722,26 +721,6 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) } } - if len(sk) > 0 { - success, err := sh.sessionProvider.Touch(sk) - if err != nil { - logger.Error("authorize failed. sessionProvider.Touch err:", err) - w.WriteHeader(http.StatusInternalServerError) - return - } - - // !success일 때 빈 body를 보내면 클라이언트는 로그아웃 된다. - if success { - json.NewEncoder(w).Encode(map[string]any{ - "sk": sk, - "expirein": sh.sessionTTL.Seconds(), - }) - } else { - w.WriteHeader(http.StatusUnauthorized) - } - return - } - var email string if !*noauth && (*authtype == "on" || *authtype == "both") { if len(reqauthtype) > 0 { @@ -833,7 +812,7 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) alias = email } - sk, err = sh.sessionProvider.New(&session.Authorization{ + sk, err := sh.sessionProvider.New(&session.Authorization{ Account: accid, Platform: reqauthtype, Uid: uid,