diff --git a/FEDERATION.md b/FEDERATION.md index 576dabf84..00ecf47dc 100644 --- a/FEDERATION.md +++ b/FEDERATION.md @@ -38,6 +38,21 @@ Depending on instance configuration the same may be true for GET requests. We set the optional extension term `htmlMfm: true` when using content type "text/x.misskeymarkdown". Incoming messages containing `htmlMfm: true` will not have their content re-parsed. +## WebFinger + +Akkoma requires WebFinger implmentations to respond to queries about a given user both when +`acct:user@domain` or the canonical ActivityPub id of the actor is passed as the `resource`. + +Akkoma strongly encourages ActivityPub implementations to include +a FEP-2c59-compliant WebFinger backlink in their actor documents. + +Without FEP-2c59 and if different domains are used for ActivityPub and the Webfinger subject, +Akkoma relies on the presence of an host-meta LRDD template on the ActivityPub domain +or a HTTP redirect from the ActivityPub domain’s `/.well-known/webfinger` to an equivalent endpoint +on the domain used in the `subject` to discover and validate the domain association. +Without FEP-2c59 Akkoma may not become aware of changes to the +preferred WebFinger `subject` domain for already discovered users. + ## Nodeinfo Akkoma provides many additional entries in its nodeinfo response, diff --git a/lib/pleroma/web/web_finger/finger.ex b/lib/pleroma/web/web_finger/finger.ex index 2d4775c52..8e651ce9b 100644 --- a/lib/pleroma/web/web_finger/finger.ex +++ b/lib/pleroma/web/web_finger/finger.ex @@ -6,6 +6,10 @@ defmodule Pleroma.Web.WebFinger.Finger do @moduledoc """ Used to query validated WebFinger data from remote hosts. + + Notably this validation includes making sure BOTH the + domain used in the WebFinger handle AND the ActivityPub actor agree to the + final domain username and domain parts being associated to the particular actor. """ alias Pleroma.HTTP