Browse Source

fix: wrong error code returned in case of inactive token (#3441)

Signed-off-by: Romain Caire <super.cairos@gmail.com>
pull/3443/head
Romain Caire 2 years ago committed by GitHub
parent
commit
86e92aaf1a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      server/introspectionhandler.go
  2. 8
      server/introspectionhandler_test.go

2
server/introspectionhandler.go

@ -340,7 +340,7 @@ func introspectInactiveErr(w http.ResponseWriter) {
w.Header().Set("Cache-Control", "no-store") w.Header().Set("Cache-Control", "no-store")
w.Header().Set("Pragma", "no-cache") w.Header().Set("Pragma", "no-cache")
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
w.WriteHeader(401) w.WriteHeader(200)
json.NewEncoder(w).Encode(struct { json.NewEncoder(w).Encode(struct {
Active bool `json:"active"` Active bool `json:"active"`
}{Active: false}) }{Active: false})

8
server/introspectionhandler_test.go

@ -300,7 +300,7 @@ func TestHandleIntrospect(t *testing.T) {
testName: "Access Token: wrong", testName: "Access Token: wrong",
token: "fake-token", token: "fake-token",
response: inactiveResponse, response: inactiveResponse,
responseStatusCode: 401, responseStatusCode: 200,
}, },
// Refresh token tests // Refresh token tests
{ {
@ -313,13 +313,13 @@ func TestHandleIntrospect(t *testing.T) {
testName: "Refresh Token: expired", testName: "Refresh Token: expired",
token: expiredRefreshToken, token: expiredRefreshToken,
response: inactiveResponse, response: inactiveResponse,
responseStatusCode: 401, responseStatusCode: 200,
}, },
{ {
testName: "Refresh Token: active => false (wrong)", testName: "Refresh Token: active => false (wrong)",
token: "fake-token", token: "fake-token",
response: inactiveResponse, response: inactiveResponse,
responseStatusCode: 401, responseStatusCode: 200,
}, },
} }
@ -380,7 +380,7 @@ func TestIntrospectErrHelper(t *testing.T) {
{ {
testName: "Inactive Token", testName: "Inactive Token",
err: newIntrospectInactiveTokenError(), err: newIntrospectInactiveTokenError(),
resStatusCode: http.StatusUnauthorized, resStatusCode: http.StatusOK,
resBody: "{\"active\":false}\n", resBody: "{\"active\":false}\n",
}, },
{ {

Loading…
Cancel
Save