feat(auth): add DPoP support - #2679
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
Codecov Report❌ Patch coverage is ❌ Your patch check has failed because the patch coverage (49.90%) is below the target coverage (60.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #2679 +/- ##
==========================================
- Coverage 76.46% 76.06% -0.41%
==========================================
Files 1122 1134 +12
Lines 128352 130268 +1916
==========================================
+ Hits 98144 99082 +938
- Misses 22382 23163 +781
- Partials 7826 8023 +197 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
b983b07 to
63a41f6
Compare
63a41f6 to
10a37d9
Compare
Summary
Add DPoP support for local bot and user credentials, including platform-backed non-exportable keys, persisted token/key binding, clock synchronization, and fail-closed request signing. Local profiles default to
preferred;disabledandrequiredare available throughlark-cli config dpop.Changes
disabled,preferred, andrequiredpolicy handling plus typed errors, diagnostics, Sidecar propagation, and README guidance.main.Test Plan
go test ./internal/auth ./internal/identitydiag ./cmd/auth ./internal/credential ./internal/client ./cmd/config -count=1make buildmake vet,make fmt-checkinternal/keychain,internal/auth, andinternal/identitydiag/dev/tpmrm0is absentThe final rebase only resolved overlap with upstream credential/config read-error propagation; the focused tests, build, vet, formatting, and Windows compilation checks were rerun afterward. Full three-platform E2E was not rerun after that rebase.
Known Boundaries
requiredrequires DPoP, not specifically L1.ath; strict RFC 9449 tests intentionally reject it.Related Issues