FEP-2c59: Discovery of a Webfinger address from an ActivityPub actor

In my understanding, WebFinger in Fediverse is used as a serialization of Web Linking to establish a self link from an acct: resource to an Activity Streams actor, and I wonder if we can also formalize the reverse discovery in terms of the Web Linking framework.

Come to think of it, Activity Vocabulary helpfully defines the Link type, which serves as a JSON-LD serialization of Web Linking. So I think we can use it to link an Activity Streams actor to an acct: resource, like the following:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "https://social.example.com/users/1",
  "type": "Person",
  "name": "John Doe",
  "url": [
    "https://social.example.com/@John",
    {
      "type": "Link",
      "href": "acct:John@example.com",
      "rel": "alternate"
    }
  ]
}

I think the benefit of this approach is that it can be expressed in the core Activity Vocabulary terms without inventing an extension property or borrowing an external vocabulary.

1 Like