ishanpage

joined 2 years ago
[–] ishanpage 2 points 2 years ago* (last edited 2 years ago)

You are right that it does feel a little roundabout. My understanding is that webfinger converts from the username to the user profile url and image. This is useful during federation, and for generic fedi/activitypub clients because different Fedi software maps usernames and profiles differently.

For example, [email protected] will reside at lemmy.instance/u/user, while user @mastodon.instance will reside at mastodon.instance/user.

Fom some poking around, it seems that Lemmy does not properly support sending the profile image on Webfinger because I wasn't able to do it using the rel parameters that are mentioned in the spec.

[–] ishanpage 5 points 2 years ago

Haha this is exactly me. That habit of losing the knowledge rapidly post investigation is something I'm trying to break, and that's part of the reason I banged out this blog post immediately after my itch was satisfied.

The "I have to tell people about this NOW" vibe also carried me through completing my website (just so I could publish this blog post)

[–] ishanpage 5 points 2 years ago (2 children)

Hey Thanks for reading, and I'm glad you found it interesting.

To my understanding, Webfinger provides a standard API for discovering the user profile details no matter the software running on the node.

For example,

$ curl https://programming.dev/.well-known/webfinger\?resource\=acct:[email protected] | jq
{
  "subject": "acct:[email protected]",
  "links": [
    {
      "rel": "http://webfinger.net/rel/profile-page",
      "type": "text/html",
      "href": "https://programming.dev/u/snowe"
    },
    {
      "rel": "self",
      "type": "application/activity+json",
      "href": "https://programming.dev/u/snowe",
      "properties": {
        "https://www.w3.org/ns/activitystreams#type": "Person"
      }
    }
  ]
}
[–] ishanpage 6 points 2 years ago

Glad you liked it! Thanks for reading ❤️

[–] ishanpage 1 points 2 years ago* (last edited 2 years ago) (1 children)

You can do this with Emscripten. See here and here

view more: ‹ prev next ›