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
-**Canonical string no longer includes query parameters** – signatures now use only the request path. During a staged rollout you can temporarily accept legacy query-aware signatures by setting `ApiAuth.legacy_query_params_compatibility = true`.
8
9
9
10
## New Features
10
11
@@ -30,8 +31,8 @@
30
31
- RSpec ~> 3.13
31
32
- Rake ~> 13.0
32
33
- Rest-Client ~> 2.1
33
-
- Remove implicit ActiveSupport requirement from runtime
34
34
- Typhoeus ~> 1.4
35
+
- Remove implicit ActiveSupport requirement from runtime
> **Note:** As of v3.0 the "request URI" component above is just the path (query parameters are excluded) so signatures remain stable even when intermediaries rewrite a query string.
34
+
33
35
e.g.,
34
36
35
37
```ruby
@@ -58,6 +60,16 @@ access id that was attached in the header. The access id can be any integer or
58
60
string that uniquely identifies the client. The signed request expires after 15
59
61
minutes in order to avoid replay attacks.
60
62
63
+
### Legacy query parameter compatibility
64
+
65
+
Versions prior to 3.0 included the query string inside the canonical request URI. If you have to roll out the 3.0 change gradually across multiple services, you can temporarily enable support for legacy signatures on the server side:
66
+
67
+
```ruby
68
+
ApiAuth.legacy_query_params_compatibility = true
69
+
```
70
+
71
+
With the flag disabled (the default) only the path segment is considered part of the canonical string.
0 commit comments