WebFinger (original) (raw)
From Wikipedia, the free encyclopedia
Protocol for the discovery of information about people and things identified by a URI
Logo of WebFinger
WebFinger is a protocol specified by the Internet Engineering Task Force IETF in RFC 7033 that allows for discovery of information about people and things identified by a URI.[1] Information about a person might be discovered via an acct:
URI, for example, which is a URI that looks like an email address.
WebFinger is specified as the discovery protocol for OpenID Connect,[2] which is a protocol that allows one to more easily log in to various sites on the Internet.[3]
The WebFinger protocol is used by federated software, such as GNU social,[_citation needed_] Diaspora,[4] or Mastodon,[5] to discover users on federated nodes and pods, as well as the remoteStorage protocol.[6]
As a historical note, the name "WebFinger" is derived from the old ARPANET Finger protocol, but it is a very different protocol designed for HTTP.[7]
The protocol payload is represented in JSON format.
Basic example with profile page and business card
[edit]
Example format of a WebFinger JSON data model.
Client request:
GET /.well-known/webfinger?resource=acct%3Abob%40example.com HTTP/1.1 Host: example.com
Server response:
{ "subject": "acct:bob@example.com", "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" } ] }
On Mastodon, any federated servers can look up users by sending a request to the WebFinger endpoint on other servers.[5] Here is an example for the user@Mastodon@mastodon.social
:
Client request:
GET /.well-known/webfinger?resource=acct%3AMastodon%40mastodon.social HTTP/1.1 Host: mastodon.social
Server response:
{ "subject": "acct:Mastodon@mastodon.social", "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}" } ] }
- ^ Jones, Paul E.; Salgueiro, Gonzalo; Jones, Michael B.; Smarr, Joseph (September 2013). "RFC 7033: WebFinger".
- ^ "Final: OpenID Connect Discovery 1.0 incorporating errata set 1". openid.net. Retrieved 2022-12-19.
- ^ "OpenID Connect | OpenID". 2011-08-01. Retrieved 2022-12-19.
- ^ Clemens (2011-09-17). "How Diaspora Connects Users". Sarah Mei. Retrieved 2022-12-19.
- ^ a b "WebFinger - Mastodon documentation". docs.joinmastodon.org. Retrieved 2022-12-19.
- ^ remoteStorage protocol draft at the IETF website.
- ^ Introducing WebFinger