WebFinger

From Wikipedia, the free encyclopedia
Logo of WebFinger

WebFinger is a protocol specified by the Internet Engineering Task Force IETF 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 the federated social networks, such as GNU social,[4] Diaspora,[5] or Mastodon,[6] to discover users on federated nodes and pods, as well as the remoteStorage protocol.[7]

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.[8]

The protocol payload is represented in JSON format.

Example[edit]

Basic example with profile page and business card[edit]

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"
		}
	]
}

Usage on Mastodon[edit]

On Mastodon, any federated servers can look up users by sending a request to the WebFinger endpoint on other servers.[9] 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}"
        }
    ]
}

See also[edit]

References[edit]

  1. ^ Jones, Paul E.; Salgueiro, Gonzalo; Jones, Michael B.; Smarr, Joseph (September 2013). "RFC 7033: WebFinger".
  2. ^ "Final: OpenID Connect Discovery 1.0 incorporating errata set 1". openid.net. Retrieved 2022-12-19.
  3. ^ "OpenID Connect | OpenID". 2011-08-01. Retrieved 2022-12-19.
  4. ^ "AFAIK GNU Social uses OStatus, which uses WebFinger (for identities), Salmon (fo... | Hacker News". news.ycombinator.com. Retrieved 8 April 2017.
  5. ^ Clemens (2011-09-17). "How Diaspora Connects Users". Sarah Mei. Retrieved 2022-12-19.
  6. ^ "WebFinger - Mastodon documentation". docs.joinmastodon.org. Retrieved 2022-12-19.
  7. ^ remoteStorage protocol draft at the IETF website.
  8. ^ Introducing WebFinger
  9. ^ "WebFinger - Mastodon documentation". docs.joinmastodon.org. Retrieved 2022-12-19.

External links[edit]