From 8de44b1e4d3a6365977e07cb51df5e1a28cd4f03 Mon Sep 17 00:00:00 2001 From: dpurbosakti Date: Mon, 6 Oct 2025 12:41:09 +0700 Subject: [PATCH] update extractToken to read user_division_positions claim/jwt --- .../main-use-case/authentication/case.go | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/internal/use-case/main-use-case/authentication/case.go b/internal/use-case/main-use-case/authentication/case.go index 3e10d86f..b6e9f2f4 100644 --- a/internal/use-case/main-use-case/authentication/case.go +++ b/internal/use-case/main-use-case/authentication/case.go @@ -188,15 +188,25 @@ func ExtractToken(r *http.Request, tokenType TokenType) (data *pa.AuthInfo, err user_name := fmt.Sprintf("%v", claims["user_name"]) var userDivisionPositions []pa.DivisionPosition - if raw, ok := claims["user_division_position"]; ok && raw != nil { - if list, ok := raw.([]interface{}); ok { - for _, item := range list { + raw := claims["user_division_positions"] + if raw == nil { + fmt.Println("No user_division_positions found in claims") + } else { + list, ok := raw.([]interface{}) + if !ok { + fmt.Printf("user_division_positions is not []interface{}, but %T\n", raw) + } else { + fmt.Printf("Found %d division positions\n", len(list)) + for i, item := range list { if m, ok := item.(map[string]interface{}); ok { + fmt.Printf("Item %d: %v\n", i, m) dp := pa.DivisionPosition{ - Division_Code: fmt.Sprintf("%v", m["Division_Code"]), - DivisionPosition_Code: fmt.Sprintf("%v", m["DivisionPosition_Code"]), + Division_Code: fmt.Sprintf("%v", m["division_code"]), + DivisionPosition_Code: fmt.Sprintf("%v", m["divisionPosition_code"]), } userDivisionPositions = append(userDivisionPositions, dp) + } else { + fmt.Printf("Item %d not map[string]interface{} but %T\n", i, item) } } }