diff --git a/backend/middleware/tokenChecker.go b/backend/middleware/tokenChecker.go index 012aa8f..2b604cb 100644 --- a/backend/middleware/tokenChecker.go +++ b/backend/middleware/tokenChecker.go @@ -77,21 +77,36 @@ func TokenChecker() gin.HandlerFunc { } parts := strings.Split(decrypted, "-") - requested := parts[2] - requestedNum, _ := strconv.Atoi(requested) - expiration := parts[3] - expirationNum, _ := strconv.Atoi(expiration) + partCount := len(parts) + var finalRequest int + var finalExpiration int + + if partCount == 4 { + requested := parts[2] + requestedNum, _ := strconv.Atoi(requested) + finalRequest = requestedNum + expiration := parts[3] + expirationNum, _ := strconv.Atoi(expiration) + finalExpiration = expirationNum + } else { + requested := parts[3] + requestedNum, _ := strconv.Atoi(requested) + finalRequest = requestedNum + expiration := parts[4] + expirationNum, _ := strconv.Atoi(expiration) + finalExpiration = expirationNum + } unix := strconv.FormatInt(time.Now().UTC().Unix(), 10) unixNum, _ := strconv.Atoi(unix) - if requestedNum > expirationNum { + if finalRequest > finalExpiration { c.JSON(http.StatusUnauthorized, gin.H{"error": "Invalid OCBO Token Value"}) c.Abort() return } - if unixNum > expirationNum { + if unixNum > finalExpiration { c.JSON(http.StatusUnauthorized, gin.H{"error": "OCBO Token Expired"}) c.Abort() return