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

I should probably give some examples to be clearer. I can incorporate these into the FEP, too.

Here’s the example actor from the FEP:

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://purl.archive.org/socialweb/webfinger"
    ],
    "id": "https://social.example.com/evanp",
    "type": "Person",
    "name": "Evan Prodromou",
    "inbox": "https://social.example.com/evanp/inbox",
    "outbox": "https://social.example.com/evanp/outbox",
    "following": "https://social.example.com/evanp/following",
    "followers": "https://social.example.com/evanp/followers",
    "liked": "https://social.example.com/evanp/liked",
    "webfinger": "evanp@example.com"
}

If you get https://example.com/.well-known/webfinger?resource=acct:evanp@example.com, it should return something like this:

{
   "subject" : "acct:evanp@example.com",
   "links" : [
      {
         "href" : "https://social.example.com/evanp",
         "rel" : "self",
         "type" : "application/activity+json"
      },
   ]
}

The href should be exactly the same as the id of the actor. A client can confirm that the Webfinger address points to the ActivityPub actor without re-fetching the actor.

The following would not be OK:

{
   "subject" : "acct:evanp@example.com",
   "links" : [
      {
         "href" : "https://redirector.example/redirect?to=https://social.example.com/evanp",
         "rel" : "self",
         "type" : "application/activity+json"
      },
   ]
}
2 Likes