From 6e288ec2b680aca8ac088e05e5ee864d34d77080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anderson=20Val=C3=A9rio?= Date: Wed, 4 Dec 2024 09:02:21 -0300 Subject: [PATCH] moving audit to pics folder --- oauthproxy.go | 13 +++++++------ pkg/{ => pics}/audit/audit_client.go | 4 ++-- pkg/{ => pics}/audit/audit_error.go | 0 pkg/{ => pics}/audit/audit_event.go | 1 + pkg/{ => pics}/audit/audit_metrics.go | 0 pkg/{ => pics}/audit/signature.go | 0 6 files changed, 10 insertions(+), 8 deletions(-) rename pkg/{ => pics}/audit/audit_client.go (98%) rename pkg/{ => pics}/audit/audit_error.go (100%) rename pkg/{ => pics}/audit/audit_event.go (99%) rename pkg/{ => pics}/audit/audit_metrics.go (100%) rename pkg/{ => pics}/audit/signature.go (100%) diff --git a/oauthproxy.go b/oauthproxy.go index 240dc818..00f472c1 100644 --- a/oauthproxy.go +++ b/oauthproxy.go @@ -25,11 +25,11 @@ import ( sessionsapi "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/apis/sessions" "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/app/pagewriter" "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/app/redirect" - "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/audit" "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/authentication/basic" "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/cookies" "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/encryption" proxyhttp "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/http" + picsaudit "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/pics/audit" "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/util" "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/ip" @@ -114,7 +114,8 @@ type OAuthProxy struct { appDirector redirect.AppDirector encodeState bool - AuditClient *audit.Client + + picsAuditClient *picsaudit.Client } // NewOAuthProxy creates a new instance of OAuthProxy from the options provided @@ -213,7 +214,7 @@ func NewOAuthProxy(opts *options.Options, validator func(string) bool) (*OAuthPr Validator: redirectValidator, }) - auditClient, err := audit.NewAuditClient(&audit.ClientOpts{ + picsAuditClient, err := picsaudit.NewAuditClient(&picsaudit.ClientOpts{ URL: opts.AuditURL, Enabled: opts.EnableAudit, ProductName: opts.AuditProductName, @@ -256,7 +257,7 @@ func NewOAuthProxy(opts *options.Options, validator func(string) bool) (*OAuthPr redirectValidator: redirectValidator, appDirector: appDirector, encodeState: opts.EncodeState, - AuditClient: auditClient, + picsAuditClient: picsAuditClient, } p.buildServeMux(opts.ProxyPrefix) @@ -925,7 +926,7 @@ func (p *OAuthProxy) OAuthCallback(rw http.ResponseWriter, req *http.Request) { if !csrf.CheckOAuthState(nonce) { errorMsg := "Invalid authentication via OAuth2: CSRF token mismatch, potential attack" logger.PrintAuthf(session.Email, req, logger.AuthFailure, errorMsg) - p.AuditClient.CreateFailedLoginAuditEntry(session, appRedirect, req.Header.Get("edisp-org-id"), errorMsg) + p.picsAuditClient.CreateFailedLoginAuditEntry(session, appRedirect, req.Header.Get("edisp-org-id"), errorMsg) p.ErrorPage(rw, req, http.StatusForbidden, "CSRF token mismatch, potential attack", "Login Failed: Unable to find a valid CSRF token. Please try again.") return } @@ -954,7 +955,7 @@ func (p *OAuthProxy) OAuthCallback(rw http.ResponseWriter, req *http.Request) { p.ErrorPage(rw, req, http.StatusInternalServerError, err.Error()) return } - p.AuditClient.CreateSuccessfulLoginAuditEntry(session, appRedirect, req.Header.Get("edisp-org-id")) + p.picsAuditClient.CreateSuccessfulLoginAuditEntry(session, appRedirect, req.Header.Get("edisp-org-id")) http.Redirect(rw, req, appRedirect, http.StatusFound) } else { logger.PrintAuthf(session.Email, req, logger.AuthFailure, "Invalid authentication via OAuth2: unauthorized") diff --git a/pkg/audit/audit_client.go b/pkg/pics/audit/audit_client.go similarity index 98% rename from pkg/audit/audit_client.go rename to pkg/pics/audit/audit_client.go index 2603dfde..46b7079c 100644 --- a/pkg/audit/audit_client.go +++ b/pkg/pics/audit/audit_client.go @@ -33,7 +33,7 @@ type Client struct { func NewAuditClient(opts *ClientOpts) (*Client, error) { if opts.Enabled { log.Print("Audit entries will be created since OAUTH2_PROXY_ENABLE_AUDIT is true") - err := opts.Validate() + err := opts.validate() if err != nil { return nil, err } @@ -154,7 +154,7 @@ func (c *Client) send(msg string) error { return nil } -func (c *ClientOpts) Validate() error { +func (c *ClientOpts) validate() error { err := errors.New("") if strings.TrimSpace(c.URL) == "" { err = errors.New("the OAUTH2_PROXY_AUDIT_URL must be set") diff --git a/pkg/audit/audit_error.go b/pkg/pics/audit/audit_error.go similarity index 100% rename from pkg/audit/audit_error.go rename to pkg/pics/audit/audit_error.go diff --git a/pkg/audit/audit_event.go b/pkg/pics/audit/audit_event.go similarity index 99% rename from pkg/audit/audit_event.go rename to pkg/pics/audit/audit_event.go index c0b9555e..6d1429d0 100644 --- a/pkg/audit/audit_event.go +++ b/pkg/pics/audit/audit_event.go @@ -81,6 +81,7 @@ type ExtensionContent struct { URL string `json:"url,omitempty"` ValueString string `json:"valueString,omitempty"` } + type Extension struct { URL string `json:"url,omitempty"` Extension []*ExtensionContent `json:"extension,omitempty"` diff --git a/pkg/audit/audit_metrics.go b/pkg/pics/audit/audit_metrics.go similarity index 100% rename from pkg/audit/audit_metrics.go rename to pkg/pics/audit/audit_metrics.go diff --git a/pkg/audit/signature.go b/pkg/pics/audit/signature.go similarity index 100% rename from pkg/audit/signature.go rename to pkg/pics/audit/signature.go