diff --git a/oauthproxy.go b/oauthproxy.go index 09fd2e2a..00ac1d49 100644 --- a/oauthproxy.go +++ b/oauthproxy.go @@ -815,16 +815,12 @@ func (p *OAuthProxy) backendLogout(rw http.ResponseWriter, req *http.Request, si p.picsAuditClient.CreateSuccessfulLogoutAuditEntry(session, req.RequestURI, req.Header.Get("edisp-org-id")) } else { if providerData.BackendRevokeAccessTokenURL != "" { - resp, err := PicsRevokeAcessToken(providerData.BackendRevokeAccessTokenURL, session.AccessToken, providerData.ClientID, providerData.ClientSecret) + err := PicsRevokeAccessToken(providerData.BackendRevokeAccessTokenURL, session.AccessToken, providerData.ClientID, providerData.ClientSecret) if err != nil { logger.Errorf("error while calling backend revoke access token: %v", err) - return + } else { + p.picsAuditClient.CreateSuccessfulRevokeAccessTokenAuditEntry(session, req.RequestURI, req.Header.Get("edisp-org-id")) } - - if resp.StatusCode() != 200 { - logger.Errorf("error while calling backend revoke acess token url, returned error code %v", resp.StatusCode()) - } - p.picsAuditClient.CreateSuccessfulRevokeAccessTokenAuditEntry(session, req.RequestURI, req.Header.Get("edisp-org-id")) } if providerData.BackendLogoutURL == "" { diff --git a/pics_oauthproxy.go b/pics_oauthproxy.go index 9d9d9b78..5e907607 100644 --- a/pics_oauthproxy.go +++ b/pics_oauthproxy.go @@ -35,11 +35,11 @@ func PicsSignOutAllSessions(backendLogoutAllSessionsURL string, introspectClaims return resp, err } -func PicsRevokeAcessToken(backendRevokeURL string, accessToken string, clientID string, clientSecret string) (resp requests.Result, err error) { +func PicsRevokeAccessToken(backendRevokeURL string, accessToken string, clientID string, clientSecret string) (err error) { authHeader := "Basic " + base64.StdEncoding.EncodeToString([]byte(clientID+":"+clientSecret)) body := "token=" + accessToken - resp = requests.New(backendRevokeURL). + resp := requests.New(backendRevokeURL). WithMethod("POST"). SetHeader("Authorization", authHeader). SetHeader("api-version", "2"). @@ -49,10 +49,14 @@ func PicsRevokeAcessToken(backendRevokeURL string, accessToken string, clientID Do() if resp.Error() != nil { - return nil, fmt.Errorf("error revoking access token: %v", resp.Error()) + return fmt.Errorf("error revoking access token: %v", resp.Error()) } - return resp, nil + if resp.StatusCode() != 200 { + return fmt.Errorf("error revoking access token: status code %d, error: %v", resp.StatusCode(), resp.Error()) + } + + return nil } func getUserID(introspectClaims string) (string, error) {