• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperscale-stack / security / 38016983323
95%
master: 98%

Build:
Build:
LAST BUILD BRANCH: fix/audit-sql-stores
DEFAULT BRANCH: master
Ran 10 Oct 2026 02:27AM UTC
Jobs 1
Files 95
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Oct 2026 02:22AM UTC coverage: 94.768% (+0.3%) from 94.444%
38016983323

Pull #93

github

euskadi31
test(oauth2): pin the replay wire answer and tighten the code-replay contract

Review follow-ups for the authorization-code replay revocation.

An unproven replay — another client, a missing, wrong or malformed
verifier, another redirect_uri, an expired code, a client no longer
allowed the grant — now has its answer pinned to the bare
ErrCodeAlreadyUsed ("authorization code already consumed"), the answer
of any replay and of an unknown code, so the response tells nothing
about which check failed. The former pins only checked the invalid_grant
code, which a grant returning the validation error would have passed.
The revocation a replay triggers is now checked to be bounded by the
detached revocation timeout, not only detached from the request, and
the replay guard also refuses a typed-nil CodeReplayError, which used to
panic.

The storage contract now says that a given CodeHash is saved at most
once — the Redis store overwrites, so a consumed code saved again
becomes redeemable again — and that a decorator of
ConsumeAuthorizationCode returns the store's error unchanged or wrapped
with %w, since normalizing it to ErrCodeAlreadyUsed silently disables
replay revocation. The docs describe both outcomes of a replay racing
the first exchange — it fails that exchange or revokes its tokens — say
that a late replay is refused like any replay, and cite RFC 9700
§4.2.4. The Redis comments explain what the null-flag test checks and
the non-string script reply, and the test doubles lose their dead
nolint directives. Refs #80.
Pull Request #93: fix(oauth2): revoke tokens issued from a replayed authorization code

230 of 236 new or added lines in 11 files covered. (97.46%)

4836 of 5103 relevant lines covered (94.77%)

75.68 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
94.12
-5.88% oauth2/grant/legacy_password.go
2
91.55
-0.24% oauth2/store/redis/store.go
2
95.99
2.11% oauth2/store/sql/store.go
Jobs
ID Job ID Ran Files Coverage
1 38016983323.1 10 Oct 2026 02:27AM UTC 95
94.77
GitHub Action Run
Source Files on build 38016983323
  • Tree
  • List 95
  • Changed 12
  • Source Changed 0
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #93
  • PR Base - master (#38015736430)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc