-
Notifications
You must be signed in to change notification settings - Fork 2
Description
What MUST be implemented ?
- Attach a
as:outboxendpoint to the WebID (ref.)- POST allow the actor (WebID owner) to post activities, which are then forwarded to recipients' inboxes with a HTTP signature authentication
- GET return an OrderedCollection with a dereferenced list of activities that the authenticated user has the right to see
- Attach a
as:inboxendpoint to the WebID (ref.)- POST allow other servers to send activities to the actor, with a HTTP signature authentication.
- GET return an OrderedCollection with a dereferenced list of activities that the authenticated user has the right to see
- Handle side effects
- Persist activities sent through the outbox somewhere where they can be fetched (reachable URI)
- Give
acl:Readpermission to the recipients (if theas:Publicaddressing is used, give anonymous read permission)
What SHOULD be implemented ?
- Handle side effects
Other things to consider
In the scenario of an ActivityPub agent, the inbox and outbox endpoints would necessarily need to be on the server of this agent, because the POST endpoint is very specific and the GET must return an AS OrderedCollection, which is IMO impossible to handle as a regular Solid resource (more about this in this issue).
This may not be a problem. But the inbox and outbox are important aspects of ActivityPub so they must be accessible by any user and also applications registered through SAI. It must be possible to fetch or listen to them, if we have the authorizations. So I wonder how well two Solid agents (SAI Authorization Agent + the ActivityPub agent) could work together, especially on endpoints which are outside of the user's Pod ? This would require more discussions and thinking.
Another thing to consider is that it would mean the content of the inbox and outbox (ie. the URIs of related activities) would be stored outside of the Pod, in the ActivityPub agent server. I'm not sure if that's such a good practice. If another ActivityPub agent is created, and the Pod owner wants to switch to this agent, they will lose their inbox and outbox content.