mirror of
https://codeberg.org/fediverse/fep.git
synced 2026-08-09 14:05:53 +00:00
FEP-f06f: Update proposal (#512)
- Requiring observers to have `observerOf` property. - Described creation of object observer (C2S). - Allowed key re-use. - Added example. Reviewed-on: https://codeberg.org/fediverse/fep/pulls/512 Co-authored-by: silverpill <silverpill@firemail.cc> Co-committed-by: silverpill <silverpill@firemail.cc>
This commit is contained in:
+22
-3
@@ -21,11 +21,15 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
|
||||
|
||||
## Observers
|
||||
|
||||
Object observer can be specified using the `observer` property.
|
||||
Object observer is a followable actor. It doesn't perform any activities on its own, but activities that affect the observed object are [forwarded][InboxForwarding] to its followers. Only objects and collections can be observed.
|
||||
|
||||
It MUST be a followable actor and SHOULD have an `Application` type. Observer doesn't perform any activities on its own, but [forwards][InboxForwarding] to its followers all activities that affect the observed object.
|
||||
Object observer MUST have an `observerOf` property specifying the observed object, and it SHOULD have an `Application` type.
|
||||
|
||||
It SHOULD have a WebFinger address (consumers should be able to follow it even if they don't understand `observer` property).
|
||||
Objects can specify their observers using the `observer` property.
|
||||
|
||||
Object observer can be created with [ActivityPub] client by publishing a `Create` activity with user's actor as its `actor` and with observer actor as its `object`.
|
||||
|
||||
Implementers MAY use a single cryptographic key for signing all HTTP requests made by observers on a server.
|
||||
|
||||
## Use case: subscribing to a conversation
|
||||
|
||||
@@ -37,6 +41,21 @@ This actor can be attached to a collection via `observer` property, and can forw
|
||||
|
||||
If forwarding is not desirable, object observers can use `Announce` activity to distribute observed activities.
|
||||
|
||||
## Examples
|
||||
|
||||
Example of an observer actor:
|
||||
|
||||
```json
|
||||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"type": "Application",
|
||||
"id": "https://server.example/objects/123456/observer",
|
||||
"inbox": "https://server.example/objects/123456/observer/inbox",
|
||||
"outbox": "https://server.example/objects/123456/observer/outbox",
|
||||
"observerOf": "https://server.example/objects/123456"
|
||||
}
|
||||
```
|
||||
|
||||
## References
|
||||
|
||||
- Christine Lemmer Webber, Jessica Tallon, [ActivityPub][ActivityPub], 2018
|
||||
|
||||
Reference in New Issue
Block a user