Bläddra i källkod

respect token validation mode for CSRF header

Fixes #1104

Signed-off-by: Nicola Murino <[email protected]>
Nicola Murino 2 år sedan
förälder
incheckning
147ad3b230
1 ändrade filer med 6 tillägg och 4 borttagningar
  1. 6 4
      internal/httpd/middleware.go

+ 6 - 4
internal/httpd/middleware.go

@@ -305,10 +305,12 @@ func verifyCSRFHeader(next http.Handler) http.Handler {
 			return
 			return
 		}
 		}
 
 
-		if !util.Contains(token.Audience(), util.GetIPFromRemoteAddress(r.RemoteAddr)) {
-			logger.Debug(logSender, "", "error validating CSRF header IP audience")
-			sendAPIResponse(w, r, errors.New("the token is not valid"), "", http.StatusForbidden)
-			return
+		if tokenValidationMode != tokenValidationNoIPMatch {
+			if !util.Contains(token.Audience(), util.GetIPFromRemoteAddress(r.RemoteAddr)) {
+				logger.Debug(logSender, "", "error validating CSRF header IP audience")
+				sendAPIResponse(w, r, errors.New("the token is not valid"), "", http.StatusForbidden)
+				return
+			}
 		}
 		}
 
 
 		next.ServeHTTP(w, r)
 		next.ServeHTTP(w, r)