๐ Fixes
Per-type metrics based on FTV1 from subgraphs (Issue #2551)
Since version 1.7.0, Apollo Router generates metrics directly instead of deriving them from traces being sent to Apollo Studio. However, these metrics were incomplete. This adds, based on data reported by subgraphs, the following:
- Statistics about each field of each type of the GraphQL type system
- Statistics about errors at each path location of GraphQL responses
By @SimonSapin in #2541
๐ Maintenance
Run rustfmt
on xtask/
, too (Issue #2557)
Our xtask
runs cargo fmt --all
which reformats of Rust code in all crates of the workspace. However, the code of xtask itself is a separate workspace. In order for it to be formatted with the same configuration, running a second cargo
command is required. This adds that second command, and applies the corresponding formatting.
Fixes #2557
By @SimonSapin in #2561
๐งช Experimental
Add support to JWT Authentication for JWK without specified alg
Prior to this change, the router would only make use of a JWK for JWT verification if the key had an alg
property.
Now, the router searches through the set of configured JWKS (JSON Web Key Sets) to find the best matching JWK according to the following criteria:
- a matching
kid
andalg
; or - a matching
kid
and algorithm family (kty
, per the RFC 7517; or - a matching algorithm family (
kty
)
The algorithm family is used when the JWKS contain a JWK for which no alg
is specified.