feat(auth): define bounded federated token time window - #374
Conversation
|
Warning Review limit reached
Next review available in: 19 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Objective
Advance issue #314 with a path-disjoint temporal-verification primitive for provider-neutral JWT/OIDC adapters. Verified token claims need explicit
nbf/expsemantics with caller-owned bounded clock skew, including the standards-compatible case wherenbfis absent, without coupling the core authority model to a specific JWT library or IdP.Exact test-first evidence
Protected
mainremains exact55d7ae8647208e301f282350f076eeddaba61d11.fe282ba852cf4fe85097c147ca0a4e683231b08d: CI run31456292841, Maven job93670650175, checked out that exact SHA and failed intestCompilebecauseFederatedTokenTimeWindowdid not exist.29b6eff4646b7110db027a30817544f6242bed0c: exact-head CI31456401077, Security Scan31456401037, SAST Semgrep31456401080, and fuzz31456401052all completed successfully. CI's Maven test, Maven merge-compatibility, and buyer-readiness jobs all succeeded; CodeRabbit status is successful; no formal reviews or unresolved inline review threads exist at the latest direct refetch.Implemented invariant
FederatedTokenTimeWindowis a provider-neutral normalized temporal authority: expiration is required and exclusive;notBeforeis optional and inclusive; server-owned bounded clock skew is explicit; malformed windows, negative skew, and missing verification inputs fail closed. An absentnbfclaim does not silently invent a lower validity bound. The type does not parse or trust token text itself.Scope
New provider-neutral temporal value object plus focused tests only. This does not parse JWTs, verify signatures, fetch discovery/JWK material, choose algorithms, map issuer/audience/roles, modify controllers, or replace the current signed-header adapter. It is path-disjoint from #343's verifier port, #364's issuer trust policy, #365's role mapping, and credential/HMAC work. Issue #314 remains open for signature/JWK/discovery/introspection, issuer/audience/algorithm enforcement, role mapping, rotation/recovery, migration, and integrated production acceptance.
Merge gate
Ready for ordinary independent review. Merge only if this unchanged exact head continues to satisfy all live required checks, zero valid unresolved findings, current protected-base expectations, and the counted approving review from an independent reviewer with write access required by repository policy. Automated checks/comments/model output are evidence, not approval.