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
Move /api/feeders/secret POSTs to Bearer alv1 auth (#84)
* feat(claim): use Authorization: Bearer alv1 for /api/feeders/secret
claim register and claim rotate now POST {"new_secret":...} with the bearer header carrying the auth secret (the new secret on register; the current active secret on rotate). Matches /status, /diagnostics, /config/sync. CLI stubs assert the wire shape directly and the install/upgrade Python stub servers reject missing-bearer + legacy body keys, so a regression to body-auth surfaces as a stub failure rather than silently passing.
* test: enforce v2 wire shape in shared claim stub
The recovery-path tests share start_claim_server; if claim_rotate ever regressed to body-auth the explicit wire-shape assertion would catch it but every other test would silently keep passing. Move the bearer + slim-body gate into the stub itself. Align install/upgrade stub error codes with the contract fixture and document the fixture's request.uuid as the bearer UUID identifier, not a body field.
Copy file name to clipboardExpand all lines: test/contracts/feeder-api-v1.json
+20-3Lines changed: 20 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
{
2
+
"_doc": "Fixture shape for /api/feeders/secret (DEV-427): request.uuid is the bearer UUID identifier and is NOT a body field. The body sent on the wire is exactly {\"new_secret\": <request.new_secret>}. The Authorization header is Bearer alv1.<request.uuid>.<bearer_secret>. Mirrors the /status fixture shape used elsewhere.",
0 commit comments