From 82b6fc091c56f21c1d907c238b39cea88723dc46 Mon Sep 17 00:00:00 2001 From: catttam Date: Tue, 1 Oct 2024 14:11:45 +0200 Subject: [PATCH] Changes con job uid retreival --- pkg/handlers/job.go | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/pkg/handlers/job.go b/pkg/handlers/job.go index edd4473a..589b8506 100644 --- a/pkg/handlers/job.go +++ b/pkg/handlers/job.go @@ -18,6 +18,7 @@ package handlers import ( "context" + "encoding/json" "fmt" "io" "log" @@ -95,7 +96,16 @@ func MakeJobHandler(cfg *types.Config, kubeClientset *kubernetes.Clientset, back c.Status(http.StatusUnauthorized) return } - } else { + } + + // Get the event from request body + eventBytes, err := io.ReadAll(c.Request.Body) + if err != nil { + c.String(http.StatusInternalServerError, err.Error()) + return + } + + if len(rawToken) != tokenLength { oidcManager, _ := auth.NewOIDCManager(cfg.OIDCIssuer, cfg.OIDCSubject, cfg.OIDCGroups) if !oidcManager.IsAuthorised(rawToken) { @@ -115,22 +125,19 @@ func MakeJobHandler(cfg *types.Config, kubeClientset *kubernetes.Clientset, back return } - ui, err := oidcManager.GetUserInfo(rawToken) - if err != nil { + // Extract user UID from MinIO event + // TODO check if is MinIO event + var decoded map[string]interface{} + if err := json.Unmarshal(eventBytes, &decoded); err != nil { c.String(http.StatusInternalServerError, err.Error()) return } - uid := ui.Subject - c.Set("uidOrigin", uid) - c.Next() + records := decoded["Records"].([]interface{}) + r := records[0].(map[string]interface{}) - } - - // Get the event from request body - eventBytes, err := io.ReadAll(c.Request.Body) - if err != nil { - c.String(http.StatusInternalServerError, err.Error()) - return + eventInfo := r["requestParameters"].(map[string]interface{}) + c.Set("uidOrigin", eventInfo["principalId"]) + c.Next() } // Initialize event envVar and args var