Skip to content

Harden DPoP replay store and add Redis integration specs - #341

Closed
woksin wants to merge 3 commits into
mainfrom
train/authproxy-2026-11-12-g
Closed

woksin wants to merge 3 commits into
mainfrom
train/authproxy-2026-11-12-g

Conversation

@woksin

@woksin woksin commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

DPoP replay protection is more predictable when Redis is slow or a request lacks scope, and the Redis replay store is now covered by specs that run against a real Redis.

Changed

@woksin woksin added the patch label Nov 12, 2026
@woksin

woksin commented Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

Folded items

  • l113-302-redis-replay-specs at 111b4ad2cb0010bd9a120ebc2cbd90e4596767c9; cancelled runs: none

Verification

build: train-g-build (2026-11-12T19:39:09.779095Z)
test: train-g-authproxy-specs (2026-11-12T19:41:05.141860Z)
test: train-g-security-specs (2026-11-12T19:42:26.463574Z)

@woksin

woksin commented Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

Reviewer notes

  • New Source/AuthProxy.Integration.Specs (Testcontainers Redis): cross-replica reservation, Redis restart without replay evidence, replica/Redis clock disagreement, quarantined replay coverage. The project is a test project only when RunRedisReplaySpecs=true, so solution-level dotnet test stays container-free; the new path-filtered Redis replay specs job (part of gate) opts in.
  • Local gate on the train head: Release build with warnings as errors, AuthProxy.Specs (6,432) and AuthProxy.Security.Specs (1,595) green. The Redis specs have not run locally; their first run is this PR's CI.
  • Code Health: RedisDpopReplayStore.cs 9.58 -> 9.50, when_caching_replay_store_health.cs 10 -> 9.68 (both at or above 9.5, one refactor pass; the added defensive checks and data-driven cases account for the drop).
  • Two review rounds (deep, security lens); the second passed with no findings.

@woksin

woksin commented Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #342.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant