You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using WooCommerce before or after query parameters with ISO 8601 timestamps can produce woocommerce_rest_authentication_error because the request parameters and OAuth signature base string are not encoded consistently. This succeeds through other WooCommerce clients but fails in this Java client.
This is the maintained follow-up to #36 and incorporates the investigation and proposed fixes from @xsalefter in #37 and @CasonMo in #49. Those PRs use different strategies—pre-encoding colons versus replacing percent signs during encoding—so neither should be merged without independent proof that values are encoded exactly once.
Acceptance criteria
Reproduce the failure with before and after ISO 8601 values in an automated regression test.
Make nonce and timestamp deterministic in tests so the complete OAuth parameter set, signature base string, and signature can be asserted against an independently derived known-good vector.
Follow OAuth/RFC 3986 percent-encoding rules and prove that colons, percent signs, plus signs, timezone offsets, and already encoded-looking input are encoded exactly once.
Verify the final request query and the normalized parameters used for signing remain consistent.
Preserve the existing public API and Java 8 compatibility for the 1.x line.
Validate the result against a disposable WooCommerce installation before release.
Problem
Using WooCommerce
beforeorafterquery parameters with ISO 8601 timestamps can producewoocommerce_rest_authentication_errorbecause the request parameters and OAuth signature base string are not encoded consistently. This succeeds through other WooCommerce clients but fails in this Java client.This is the maintained follow-up to #36 and incorporates the investigation and proposed fixes from @xsalefter in #37 and @CasonMo in #49. Those PRs use different strategies—pre-encoding colons versus replacing percent signs during encoding—so neither should be merged without independent proof that values are encoded exactly once.
Acceptance criteria
beforeandafterISO 8601 values in an automated regression test.Out of scope