Authorized fetch: gecommitte guardian leest ward-outbox gesigneerd (FEP-633c §5.3 noot)
De optionele verfijning uit de spec: een guardian die de outbox van z'n ward met
een HTTP-signature opvraagt, krijgt ook de fan_only (prive) posts mee, zonder als
follower te verschijnen en inclusief historie van voor een eventuele follow.
Ongesigneerde of niet-guardian callers krijgen zoals altijd alleen de publieke
collectie. De verbrede view gaat met Cache-Control private,no-store zodat een
gedeelde cache 'm nooit aan het publiek serveert.
De publieke shaer:guardians-lijst maakt dit mogelijk: de ward-server herkent de
signer als huidige guardian (getRelation) zonder extra coordinatie.
Changed files:
src/routes/activitypub.js
- outbox GET: signed-fetch check; guardian ziet fan_only; no-store op de verbrede view
src/services/ActivityPubService.js
- isWardGuardian(wardSlug, actorUri); sendAP krijgt optionele cache-control
test/authorized-fetch.test.js
- guardian herkend, vreemde niet
remarks: npm test 168/168. verifyRequest deed GET al aan (request-target/host/date,
digest alleen bij body). v1 en niet-guardian-verkeer ongewijzigd.
-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>