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
Add SHR-specific ValidationError subclasses (one per existing exception type): SignedHttpRequestSignatureValidationError, SignedHttpRequestClaimValidationError parameterized by claim name (at, b, cnf, h, m, nonce, p, q, ts, u), SignedHttpRequestPopKeyValidationError.
Convert each ValidateAtClaim, ValidateBClaim, …, ValidateSignatureAsync, ResolvePopKeyAsync to return ValidationResult<…, ValidationError> instead of throwing. Keep originals as legacy wrappers that call result.UnwrapOrThrow().
Switch ValidateAccessTokenAsync to call IResultBasedValidation.ValidateTokenAsync once Issue 2 ships; until then, keep the legacy call but already return a ValidationResult to the new pipeline.
Add SignedHttpRequestValidationParameters.TokenHandler overload (experimental) that accepts an IResultBasedValidation-capable handler.
Update InternalAPI.Unshipped.txt.
Tests
Mirror the existing SignedHttpRequestHandlerTests per-claim cases; assert result.UnwrapError() is SignedHttpRequestClaimValidationError && error.ClaimName == "".
Cross-test: failing input produces a ValidationError whose GetException() matches the existing exception type (e.g., SignedHttpRequestInvalidNonceClaimException).
Goals
Work
Tests
Acceptance