WebFinger — это протокол, определенный рабочей группой по инжинирингу Интернета (IETF) в RFC 7033, который позволяет обнаруживать информацию о людях и вещах, идентифицированных с помощью URI . [1] Информацию о человеке можно обнаружить acct:
, например, с помощью URI, который выглядит как адрес электронной почты .
WebFinger указан как протокол обнаружения для OpenID Connect , [2] который представляет собой протокол, позволяющий более легко входить на различные сайты в Интернете. [3]
Протокол WebFinger используется федеративным программным обеспечением, таким как GNU social , [ требуется ссылка ] Diaspora , [4] или Mastodon , [5] для обнаружения пользователей на федеративных узлах и модулях, а также протоколом remoteStorage. [6]
В качестве исторической справки: название «WebFinger» произошло от старого протокола ARPANET Finger , но это совсем другой протокол, разработанный для HTTP . [7]
Полезная нагрузка протокола представлена в формате JSON .
Запрос клиента:
GET /.well-known/webfinger?resource=acct%3Abob%40example.com HTTP / 1.1 Хост : example.com
Ответ сервера:
{ "subject" : "acct:[email protected]" , "aliases" : [ "https://www.example.com/~bob/" ], "properties" : { "http://example.com/ns/role" : "employee" }, "links" : [{ "rel" : "http://webfinger.example/rel/profile-page" , "href" : "https://www.example.com/~bob/" }, { "rel" : "http://webfinger.example/rel/businesscard" , "href" : "https://www.example.com/~bob/bob.vcf" } ] }
На Mastodon любые федеративные серверы могут искать пользователей, отправляя запрос на конечную точку WebFinger на других серверах. [5] Вот пример для пользователя @[email protected]
:
Запрос клиента:
GET /.well-known/webfinger?resource=acct%3AMastodon%40mastodon.social HTTP / 1.1 Хост : mastodon.social
Ответ сервера:
{ "subject" : "acct:[email protected]" , "aliases" : [ "https://mastodon.social/@Mastodon" , "https://mastodon.social/users/Mastodon" ], "links" : [ { "rel" : "http://webfinger.net/rel/profile-page" , "type" : "text/html" , "href" : "https://mastodon.social/@Mastodon" }, { "rel" : "self" , "type" : "application/activity+json" , "href" : "https://mastodon.social/users/Mastodon" }, { "rel" : "http://ostatus.org/schema/1.0/subscribe" , "template" : "https://mastodon.social/authorize_interaction?uri={uri}" } ] }