Build ES256 verifier for `alg`-less P-256 JWKs
`parse_jwk` only constructed `decoding_key` when the JWK declared
an explicit `alg = ES256` field, but RFC 7517 marks `alg` as
OPTIONAL and real-world DPoP proofs routinely omit it from the
embedded JWK because the JWT header already carries the algorithm.
The fake AS surfaced this as `invalid_dpop_proof` against any
public client whose DPoP proof followed that pattern.
`ParsedJwk::decoding_key` is now `Some` whenever the JWK is on
P-256 and either declares `alg = ES256` or omits `alg`. A P-256
JWK that explicitly declares an unsupported `alg` (e.g. `RS256`)
still produces `decoding_key = None` — the caller's explicit
intent is respected rather than overridden by the curve hint, and
that combination is internally inconsistent anyway.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>