fix: skip nonce replay check for internal reads

This commit is contained in:
richjohnrambo
2026-08-28 11:28:28 +08:00
parent 4ea828fb09
commit 08a4f138e3
+6 -4
View File
@@ -185,10 +185,12 @@ func authorizeInternalAPI(wrt http.ResponseWriter, req *http.Request, capability
writeIMError(wrt, req, http.StatusUnauthorized, 30043, imReasonAuthRequired, "invalid internal signature", nil) writeIMError(wrt, req, http.StatusUnauthorized, 30043, imReasonAuthRequired, "invalid internal signature", nil)
return false return false
} }
requestClaim := internalRequestClaimValue(signingText) if req.Method != http.MethodGet {
if !claimInternalNonce(serviceName, nonce, requestClaim, time.Now().Add(window)) { requestClaim := internalRequestClaimValue(signingText)
writeIMError(wrt, req, http.StatusUnauthorized, 30043, imReasonAuthRequired, "internal nonce replayed", nil) if !claimInternalNonce(serviceName, nonce, requestClaim, time.Now().Add(window)) {
return false writeIMError(wrt, req, http.StatusUnauthorized, 30043, imReasonAuthRequired, "internal nonce replayed", nil)
return false
}
} }
return true return true
} }