#WebFinger

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@[email protected] · Reply to @reiver ⊼ (Charles) :batman:'s post

webfinger & fediverse

6/

Issue №4:

Having to make one HTTP to WebFinger to resolve a Fediverse ID (such as "@joeblow@example·com"), and then make another HTTP request to get the activity document ("application/activity+json") — adds an extra HTTP request.

Using a well-known path to resolve the Fediverse ID and get the activity document ("application/activity+json") — in one HTTP request would be better.

...

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@[email protected] · Reply to @reiver ⊼ (Charles) :batman:'s post

webfinger & fediverse

5/

Issue №3:

If we are going to use Internet domain-names, maybe host-meta could be replaced by a DNS TXT or DNS SRV record — that is used to specify what host to connect to to resolved a Fediverse ID like "@joeblow@example·com" to an activity document ("application/activity+json").

...

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@[email protected] · Reply to @reiver ⊼ (Charles) :batman:'s post

webfinger & fediverse

4/

Issue №2:

host-meta is in XML (where everything else is in JSON).

I am NOT saying I am a fan of JSON, but — I think it would be easier for developers if only JSON xor XML was used (but not both).

(host-meta is used to specify where WebFinger is. It does not necessarily have to be at "/.well-known/webfinger". And doesn't have to be on the same host.)

...

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@[email protected] · Reply to @reiver ⊼ (Charles) :batman:'s post

webfinger & fediverse

3/

Issue №1:

host-meta is yet another format to write encoders and decoders for.

(host-meta is used to specify where WebFinger is. It does not necessarily have to be at "/.well-known/webfinger". And doesn't have to be on the same host.)

...

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@[email protected] · Reply to @reiver ⊼ (Charles) :batman:'s post

webfinger & fediverse

2/

Their reason (for wanting to replace WebFinger):

“While useful, Webfinger is not part of the ActivityPub specification”

Why does that matter?

Having said that, (I do think) there some issues with WebFinger that could motivate one to replace it.

But that would mean that — any replacement MUST address these issues.

...

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@[email protected]

webfinger & fediverse

1/

It seems like someone wants everyone on the Fedivese to stop using WebFinger.

github.com/mastodon/mastodon/i

(WebFinger is used to resolve a Fediverse ID like "@joeblow@example·com" to an activity document ("application/activity+json").)

...

Ditching the webfinger requirement #17030

While useful, Webfinger is not part of the ActivityPub specification itself, and the ad-hoc mechanism from going from an ActivityPub actor URI to a canonical acct: URI is pretty clunky.
Ditching the webfinger requirement #17030 While useful, Webfinger is not part of the ActivityPub specification itself, and the ad-hoc mechanism from going from an ActivityPub actor URI to a canonical acct: URI is pretty clunky.
@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@[email protected]

The Fediverse's usage of rel-self in WebFinger, to point to an ActivityPub Activity file (application/activity+json), seem different than how Atom feeds uses rel-self.

The semantics seem different.

(I am assuming ActivityPub borrowed rel-self from Atom feeds.)

Ку 🇧🇬🇪🇺:neobear_devil_blank_hammer_fire_laptop:'s avatar
Ку 🇧🇬🇪🇺:neobear_devil_blank_hammer_fire_laptop:

@[email protected]

implementations seems to be quite hard. I've got a pretty simple server set up that for now only serves information for one Actor of type Service. My goal at some point is to have this be a working bot that does things. But for the time being I'm still struggling to get other servers to actually consume that actor from my server. I've got working I believe correctly (here) and the ID it returns responds with what seems to me like a valid Actor json-id (here). However the several instances I've tried accessing it from all seem to not be able to consume that for any reason. Misskeys end up with an An error has occurred message, mastodons just say they're not finding anything.

With the misskeys at least I see a request coming in to
/.well-known/webfinger, but mastodon instances don't seem to attempt to make any call, even if I search directly for the URL of the actor object. Meanwhile fedify lookup seems to be fine with what it gets from the webfinger request since it then proceeds to hit the actor URL as well and prints out the json-ld it gets from it.

There don't seem to be any tools that I can point at a resource and have them tell me what it is I haven't implemented properly which is a bit frustrating.

Marcus Rohrmoser 🌻's avatar
Marcus Rohrmoser 🌻

@[email protected] · Reply to Julian Fietkau's post

Hi @julian @canary,
what problem are you solving? Why should the domains have to match? And bad implementations happen.

dev.seppo.social/2024-03-19/ap

P.S.: Are you aware isn't part of ?

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected] · Reply to Fedify: an ActivityPub server framework's post

The docs now have a section on actor identifiers and usernames.

https://unstable.fedify.dev/manual/actor#actor-identifier-and-webfinger-username

Maho Pacheco 🦝🍻's avatar
Maho Pacheco 🦝🍻

@[email protected]

Part 3 of "A Guide to Implementing ActivityPub in a Static Site (or Any Website)" is just out the oven!

In this blog post, I explain how to make your blog discoverable in the Fediverse as an account, and also address some of the annoying pitfalls I encountered.

Full article here: maho.dev/2024/02/a-guide-to-im

If you like it don't forget to follow the @blog !

-sites -development -web

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected] · Reply to Fedify: an ActivityPub server framework's post

프레임워크는 () 개발에 중요한 기능들을 기본으로 내장하고 있습니다:

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected] · Reply to Fedify: an ActivityPub server framework's post

Out of the box, comes packed with features crucial for development:

洪 民憙 (Hong Minhee) 🤏🏼's avatar
洪 民憙 (Hong Minhee) 🤏🏼

@[email protected]

is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

• Type-safe objects for Activity Vocabulary (including some vendor-specific extensions)
client and server
• HTTP Signatures
• Middleware for handling webhooks
protocol
.js, , and support
• CLI toolchain for testing and debugging

If you're curious, take a look at the Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:

fedify.dev/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected]

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

FediTest's avatar
FediTest

@[email protected]

ANN: FediTest 0.2 is out. This is our first release, even if early as you can tell from the version number.

feditest is now in the python repos, so you can say "pip install feditest", and the documentation is current on feditest.org

You can currently use it to run your own WebFinger server tests similar to feditest.org/assets/2024-06-05 Obviously much more to come.

Feedback appreciated!

/cc @activitypubtestsuite