diff --git a/oauthproxy.go b/oauthproxy.go index 17a46d30e5..fc559e5c1c 100644 --- a/oauthproxy.go +++ b/oauthproxy.go @@ -363,7 +363,7 @@ func (p *OAuthProxy) buildProxySubrouter(s *mux.Router) { p.SignOut(w, r, false) }, )) - s.Path(picsSignOutAllDevicesPath).Handler(p.sessionChain.ThenFunc( + s.Path(picsSignOutAllSessionsPath).Handler(p.sessionChain.ThenFunc( func(w http.ResponseWriter, r *http.Request) { p.SignOut(w, r, true) }, @@ -813,6 +813,8 @@ func (p *OAuthProxy) backendLogout(rw http.ResponseWriter, req *http.Request, si if resp.StatusCode() != 200 { logger.Errorf("error while calling backend logout url, returned error code %v", resp.StatusCode()) } + + p.picsAuditClient.CreateSuccessfulLogoutAuditEntry(session, req.RequestURI, req.Header.Get("edisp-org-id")) } else { if providerData.BackendLogoutURL == "" { return diff --git a/pics_oauthproxy.go b/pics_oauthproxy.go index 9464dc227a..2b39e8340d 100644 --- a/pics_oauthproxy.go +++ b/pics_oauthproxy.go @@ -11,7 +11,7 @@ import ( ) const ( - picsSignOutAllDevicesPath = "/sign_out_all_sessions" + picsSignOutAllSessionsPath = "/sign_out_all_sessions" ) func PicsSignOutAllSessions(backendLogoutAllSessionsURL string, introspectClaims string, accessToken string) (resp requests.Result, err error) { diff --git a/pkg/pics/audit/audit_client.go b/pkg/pics/audit/audit_client.go index e928344e73..da92b20381 100644 --- a/pkg/pics/audit/audit_client.go +++ b/pkg/pics/audit/audit_client.go @@ -69,6 +69,7 @@ func (c *Client) CreateSuccessfulLogoutAuditEntry(ss *sessions.SessionState, app System: "http://hl7.org/fhir/ValueSet/audit-event-type", Version: "1", Code: "110123", Display: "Logout", UserSelected: "All Sessions"} c.createAuditEntry(ss, appURL, tenantID, "0", "Success", &coding) } + func (c *Client) createAuditEntry(ss *sessions.SessionState, appURL string, tenantID string, outcomeCode string, outcomeDesc string, coding *Coding) { if !c.enabled { return