From d0b8dfe340fc43ec821f8427680fcb64517e72a6 Mon Sep 17 00:00:00 2001 From: Livio Amstutz Date: Thu, 28 Oct 2021 07:40:06 +0200 Subject: [PATCH] revocation --- pkg/http/marshal.go | 3 +++ pkg/op/token_revocation.go | 15 +++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pkg/http/marshal.go b/pkg/http/marshal.go index 1168245..9f53e94 100644 --- a/pkg/http/marshal.go +++ b/pkg/http/marshal.go @@ -14,6 +14,9 @@ func MarshalJSON(w http.ResponseWriter, i interface{}) { func MarshalJSONWithStatus(w http.ResponseWriter, i interface{}, status int) { w.Header().Set("content-type", "application/json") w.WriteHeader(status) + if i == nil { + return + } err := json.NewEncoder(w).Encode(i) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) diff --git a/pkg/op/token_revocation.go b/pkg/op/token_revocation.go index d754503..36208cd 100644 --- a/pkg/op/token_revocation.go +++ b/pkg/op/token_revocation.go @@ -37,19 +37,14 @@ func Revoke(w http.ResponseWriter, r *http.Request, revoker Revoker) { } tokenID, subject, ok := getTokenIDAndSubjectForRevocation(r.Context(), revoker, token) if ok { - err := revoker.Storage().RevokeToken(r.Context(), tokenID, subject, clientID) - if err != nil { - RevocationRequestError(w, r, err) - return - } - httphelper.MarshalJSON(w, err) + token = tokenID + } + if err := revoker.Storage().RevokeToken(r.Context(), token, subject, clientID); err != nil { + RevocationRequestError(w, r, err) return } - //if tokenID != "" { - // token = tokenID - //} - err = revoker.Storage().RevokeToken(r.Context(), token, subject, clientID) httphelper.MarshalJSON(w, nil) + return } func ParseTokenRevocationRequest(r *http.Request, revoker Revoker) (token, tokenTypeHint, clientID string, err error) {