fix(auth): skip timestamp validation in debug mode
Modify ValidateTimeStamp to bypass validation when in debug mode. Also update request validation to make timestamp optional in debug mode while maintaining security checks in production.
This commit is contained in:
1 parent
d49090a2ab
commit
7f54e17bf4
2 files changed
+9
-4
No files matched your search
@@ -170,8 +170,11 @@ func isValidPassword(password string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ValidateTimeStamp(timeStamp int64) error {
|
func ValidateTimeStamp(timeStamp int64) error {
|
||||||
|
if globalConfig.Debug {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
currentTime := time.Now().UnixMilli()
|
currentTime := time.Now().UnixMilli()
|
||||||
if !globalConfig.Debug && (currentTime-timeStamp > 3000 || timeStamp-currentTime > 3000) {
|
if currentTime-timeStamp > 3000 || timeStamp-currentTime > 3000 {
|
||||||
return errors.New("timestamp out of valid range")
|
return errors.New("timestamp out of valid range")
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
+5
-3
@@ -220,12 +220,14 @@ func ValidateRequestWithBody(w http.ResponseWriter, r *http.Request, body []byte
|
|||||||
return 0, "", errors.New("token is required")
|
return 0, "", errors.New("token is required")
|
||||||
}
|
}
|
||||||
|
|
||||||
timeStamp, ok := reqMap["timeStamp"].(float64)
|
timeStamp := int64(0)
|
||||||
if !ok {
|
if ts, ok := reqMap["timeStamp"].(float64); ok {
|
||||||
|
timeStamp = int64(ts)
|
||||||
|
} else if !globalConfig.Debug {
|
||||||
return 0, "", errors.New("timeStamp is required")
|
return 0, "", errors.New("timeStamp is required")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := ValidateTimeStamp(int64(timeStamp)); err != nil {
|
if err := ValidateTimeStamp(timeStamp); err != nil {
|
||||||
return 0, "", err
|
return 0, "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user