webfinger
webfingerで使用される acct に関する仕様
Mastodonが一時期まで保守していたwebfinger client library (archived) URIで示されるリソースのメタデータを取得するプロトコル
ActivityPubにおいては、acct @example@example.com から Actor のURL https://example.com/users/example を取得するのに使われている
ActivityPubにおけるユーザID上のホスト部とそれをホストしているサーバとが異なる場合にも対応できる
例: Vivaldi SocialではユーザIDは@example@vivaldi.netであるが、サーバはsocial.vivaldi.netである その他の活用例
OStatus でもacctから各種エンドポイントなどを取得するのに使っていた etc.
実装
HTTPエンドポイントを用意するだけでよい
example@example.com について照会する場合、https://example.com/.well-known/webfinger?resource=acct:example@example.comに対してGETリクエストが飛ぶ
ActivityPub 向けに最低限必要なレスポンスは以下の通り:
code:resp.json
{
"subject": "acct:example@example.com",
"links": [
{
"rel": "self",
"type": "application/activity+json",
}
]
}
実装によっては https://example.com/.well-known/webfinger?resource=https://example.com/actor のようにGETリクエストすることで URL https://example.com/actor について照会できる
これを利用して、逆にアクターエンドポイントの URL をもとに acct @example@example.com を引くこともできる
hr.icon
mogaminsk.icon Pleroma は webfinger への GET リクエストの accept: ヘッダで application/xml を優先するように指定すると、content-type: application/xrd+xml; charset=utf-8 で xml 形式のデータを返すこともできるみたい