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