Skip to content

Note

このドキュメントは2026-02-27 02:12PLaMo Translation Modelを使用して自動翻訳されました。

FEP-844e: 機能発見メカニズム

概要

ActivityPubアプリケーション向けの機能発見機構について規定する。

本文書は、FEP-aaa3: アプリケーションアクターにおける実装済み仕様一覧で提案された概念を基盤としている。

要件

本文書中で使用する「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「MAY」「OPTIONAL」の各用語は、RFC-2119に規定される解釈に従うものとする。

アプリケーションオブジェクト

アプリケーションは、その機能をApplicationオブジェクトのimplementsプロパティを用いて宣言することができる。

このオブジェクトは必ずしもアクターである必要はない。implementsプロパティの値は、以下の属性を含むLinkオブジェクトの配列でなければならない:

  • href(必須): 当該機能の一意な識別子。値はURI形式でなければならない。
  • name(推奨): 機能の簡潔な説明。

具体例:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/fep/844e"
  ],
  "type": "Application",
  "id": "https://social.example/server",
  "implements": [
    {
      "href": "https://datatracker.ietf.org/doc/html/rfc9421",
      "name": "RFC-9421: HTTPメッセージ署名仕様"
    }
  ]
}

アクターを介した発見方法

Applicationオブジェクトは、generatorプロパティを用いてアクターと関連付けることができる。このプロパティの値としては、implementsプロパティを含む部分オブジェクトを指定する必要がある。このオブジェクトは匿名(識別子を持たない)であってもよい。

具体例:

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/fep/844e"
  ],
  "id": "https://social.example/actors/1",
  "type": "Person",
  "inbox": "https://social.example/actors/1/inbox",
  "outbox": "https://social.example/actors/1/outbox",
  "generator": {
    "type": "Application",
    "implements": [
      {
        "href": "https://datatracker.ietf.org/doc/html/rfc9421",
        "name": "RFC-9421: HTTPメッセージ署名仕様"
      }
    ]
  }
}

既知のエンドポイントを介した発見方法

WebFingerを利用したApplicationオブジェクトの発見機構については、FEP-d556で詳細に規定されている。

NodeInfoエンドポイントを用いた機能発見は推奨されない。

想定される利用場面

本文書で説明するメカニズムに依存することは、実装の複雑性を高め、相互運用性を阻害する可能性がある。

実装者は、オブジェクトの属性や型から機能が推論可能な場合には、この機構を使用してはならない。

ソフトウェア機能の登録簿

(本セクションは非規範的な内容である)

名称 識別子
RFC-9421: HTTPメッセージ署名 https://datatracker.ietf.org/doc/html/rfc9421
Ed25519アルゴリズムを用いたRFC-9421署名 https://datatracker.ietf.org/doc/html/rfc9421#name-eddsa-using-curve-edwards25

実装例

参考文献

著作権

CC0 1.0 Universal(パブリックドメイン献呈)

法律で許容される範囲内において、本Fediverse Enhancement Proposalの著者らは、当該著作物に関するすべての著作権および関連する権利を放棄する。