1
0
mirror of https://codeberg.org/fediverse/fep.git synced 2026-08-06 12:16:12 +00:00

fep-ceee: Upgraded references. Updated wording. (#247)

Co-authored-by: Steve Bate <svc-github@stevebate.net>
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/247
Co-authored-by: Steve Bate <steve-bate@noreply.codeberg.org>
Co-committed-by: Steve Bate <steve-bate@noreply.codeberg.org>
This commit is contained in:
Steve Bate
2024-01-21 01:42:43 +00:00
committed by silverpill
parent 57cd1ac497
commit c1e9a8cd91
+35 -17
View File
@@ -42,9 +42,9 @@ Response:
```
The `subject` would typically be the resource URI. However, this proposal does not depend on any specific value for `subject`.
The Instance Actor's URI will be the `href` property of a `link` with a `rel` property of `https://www.w3.org/ns/activitystreams#Service` [ActivityPubService].
The Instance Actor's URI will be the `href` property of a `link` with a `rel` property of `https://www.w3.org/ns/activitystreams#Service` ([W3C AS2 Service Primer][ActivityPubService]).
A `http://webfinger.net/rel/profile-page` `rel` [WebFingerRels] can be used to link to instance metadata (possibly with multiple content types). However, the structure of the target metadata has not been defined at this time. For example, the following links refer to profile data in HTML and JSON-LD formats.
A `http://webfinger.net/rel/profile-page` `rel` ([WebFinger Relations][WebFingerRels]) can be used to link to instance metadata (possibly with multiple content types). However, the structure of the target metadata has not been defined at this time. For example, the following links refer to profile data in HTML and JSON-LD formats.
```json
{
@@ -146,6 +146,11 @@ GET /.well-known/webfinger?resource=https://instance.example/&rel=self
GET /.well-known/webfinger?resource=https://mastodon.social/
Host: https://mastodon.social
```
or using Mastodon account-based URI:
```
GET /.well-known/webfinger?resource=acct:mastodon.social@mastodon.social
Host: https://mastodon.social
```
```json
{
@@ -177,35 +182,48 @@ Some differences between the Mastodon implementation and this proposal include:
* Mastodon returns the Instance Actor with the same `rel` as a user actor ("self").
* It does not support standard [WebFinger] filtering by `rel`.
The `subject` is a fake Mastodon account identifier rather than the resource URI or the actor URI.
The `subject` is the Mastodon-specific account URI for the instance-level actor rather than the [ActivityPub] actor URI.
## Related Proposals
[FEP-2677](../2677/fep-2677.md) suggests using [NodeInfo] for a similar purpose. There are several disadvantages of this compared to using [WebFinger].
[FEP-2677] suggests using [NodeInfo] for a similar purpose. There are several disadvantages of this compared to using [WebFinger].
* Although [WebFinger] is not required by the [ActivityPub] Recommendation, it is required for federation with most ActivityPub-based implementations (e.g., Mastodon and compatible implementations). [NodeInfo] is not required for federation, so requiring it's use for this purpose increases the complexity of federation with no benefits.
* [WebFinger] has been standardized by the Internet Engineering Task Force (IETC). [NodeInfo] is defined informally.
* [WebFinger] is already used to resolve identifiers. [NodeInfo] is primarily used for gathering and aggregating server metadata.
* [FEP-2677](../2677/fep-2677.md) adds a new non-standard `rel` relation to the [NodeInfo] index document. This may have surprising effects on some consuming implementations. This proposal is using [WebFinger] in standard ways.
* `Service` [ActivityPubService] is the W3C recommended type for this kind of resource rather than `Application` [ActivityPubApp].
* [FEP-2677](../2677/fep-2677.md) only defines a singleton instance-level actor. This proposal allows that use case but has more flexibility for advanced implementations.
* [FEP-2677] adds a new non-standard `rel` relation to the [NodeInfo] index document. This may have surprising effects on some consuming implementations. This proposal is using [WebFinger] in standard ways.
* `Service` ([Primer][ActivityPubService]) is the type suggested by the W3C ActivityStreams Primers for this kind of resource rather than `Application` ([Primer][ActivityPubApp]).
* [FEP-2677] only defines a singleton instance-level actor. This proposal allows that use case but has more flexibility for advanced implementations.
[FEP-2c59](../2c59/fep-2c59.md) discusses how to discover [WebFinger] resource URIs from an [ActivityPub] actor resource. This is not related to instance-level actor discovery.
[FEP-2c59] discusses how to discover [WebFinger] resource URIs from an [ActivityPub] actor resource. This is not related to instance-level actor discovery.
[FEP-4adb](../2c59/fep-4adb.md) discusses dereferencing identifiers with WebFinger. It's similar to this proposal but not specifically related to discovering instance-level actors.
[FEP-4adb] discusses dereferencing identifiers with WebFinger. It's similar to this proposal but not specifically related to discovering instance-level actors.
## References
- [ActivityPub] Christine Lemmer Webber, Jessica Tallon, [ActivityPub](https://www.w3.org/TR/activitypub/), 2018
- [ActivityPubApp] [W3C ActivityStreams/Primer/Service type](https://www.w3.org/wiki/Activity_Streams/Primer/Service_type)
- [ActivityPubService] [W3C ActivityStreams/Primer/Application type](https://www.w3.org/wiki/Activity_Streams/Primer/Application_type)
- [Mastodon] Eugen Rochko, [Mastodon](https://joinmastodon.org/), 2016
- [NodeInfo] [NodeInfo protocol 2.1](http://nodeinfo.diaspora.software/protocol.html)
- [SameOriginPolicy] [MDN Same-origin Policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)
- [WebFinger] Brad Fitzpatrick, [WebFinger](https://tools.ietf.org/html/rfc7033), 2013
- [WebFingerRels] [WebFinger.net Link Relations](https://webfinger.net/rel)
- Christine Lemmer Webber, Jessica Tallon, [ActivityPub], 2018
- W3C ActivityStreams Primer - [Application type][ActivityPubApp]
- W3C ActivityStreams Primer - [Service type][ActivityPubService]
- Eugen Rochko, [Mastodon], 2016
- Jonne Haß, [NodeInfo 2.1][NodeInfo]
- MDN, [Same-origin Policy][SameOriginPolicy]
- Brad Fitzpatrick, [WebFinger], 2013
- WebFinger\.net [Link Relations][WebFingerRels]
## Copyright
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
To the extent possible under law, the authors of this Fediverse Enhancement Proposal have waived all copyright and related or neighboring rights to this work.
[ActivityPub]: https://www.w3.org/TR/activitypub/ "The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content."
[ActivityPubApp]: https://www.w3.org/wiki/Activity_Streams/Primer/Application_type "W3c AS2 Primer for the Application type"
[ActivityPubService]: https://www.w3.org/wiki/Activity_Streams/Primer/Service_type "W3c AS2 Primer for the Service type"
[Mastodon]: https://joinmastodon.org/ "Self-hosted, globally interconnected microblogging software"
[NodeInfo]: http://nodeinfo.diaspora.software/protocol.html "NodeInfo defines a standardized way to expose metadata about an installation of a distributed social network"
[SameOriginPolicy]: https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy "The same-origin policy is a critical security mechanism that restricts how a document or script loaded by one origin can interact with a resource from another origin."
[WebFinger]: https://tools.ietf.org/html/rfc7033 "Protocol for discovering information about people or other entities on the Internet using standard HTTP methods"
[WebFingerRels]: https://webfinger.net/rel "WebFinger link relations defined at webfinger.net"
[FEP-2677]: ../2677/fep-2677.md "FEP-2677: Identifying the Application Actor"
[FEP-2c59]: ../2c59/fep-2c59.md "FEP-2c59: Discovery of a Webfinger address from an ActivityPub actor"
[FEP-4adb]: ../4adb/fep-4adb.md "FEP-4adb: Dereferencing identifiers with webfinger"