В ActivityPub, как вы получаете URL-адрес входящей почты? - PullRequest
0 голосов
/ 03 марта 2019

Я знаю, что серверы обмениваются сообщениями POST с входящими и исходящими сообщениями.Но каков URL для входящих и исходящих сообщений?

1 Ответ

0 голосов
/ 03 марта 2019

Как получить входящий или исходящий URL-адрес

URL-адрес - это то, что говорит сервер-исполнитель.Таким образом, он отличается для каждого ActivityPub сервера.

Входящие и исходящие URL-адреса для субъекта определены в документе JSON-LD для субъекта:

{ 
  "@context": ["https://www.w3.org/ns/activitystreams",
               {"@language": "ja"}],
  "type": "Person",
  "id": "https://kenzoishii.example.com/",

  // Right here!
  "inbox": "https://kenzoishii.example.com/inbox.json",
  "outbox": "https://kenzoishii.example.com/feed.json",

  ...
}

Это также означает, что входящие и исходящие могут быть специфичными для актера , а не только для конкретного сервера.

Как получить актера JSON

Некоторые сайты ActivityPub , такие как Mastodon , используют Webfinger для стандартизации URL, который можно использовать для получения URL-адреса.JSON-LD документа актера:

/.well-known/webfinger?resource=acct:foo@example.org

В этом случае, если вы хотите узнать входящие сообщения для flaque@mastodon.social, вы сначала запросите веб-палец:

GET https://mastodon.technology/.well-known/webfinger?resource=acct:flaque@mastodon.technology

Это даст вам объект JSON, подобный этому:

{
  subject: "acct:Flaque@mastodon.technology",
  links: [
    {
      rel: "self",
      type: "application/activity+json",
      href: "https://mastodon.technology/users/Flaque"
    }
  ]
}

С этим href: https://mastodon.technology/users/Flaque вы можете получить представление JSON с помощью:

https://mastodon.technology/users/Flaque.json

(Обратите внимание на .json!)

Это даст вам полный объект актера, который будет включать inbox и outbox:

{
  "inbox": "https://mastodon.technology/users/Flaque/inbox",
  "outbox": "https://mastodon.technology/users/Flaque/outbox",
  ...
} 
...