@twilliability The pragmatic heuristics you mentioned is great, but I'm building a framework called Fedify, and I needed a more general way of doing things. 🤔
@twilliability The problem is that in addition to POST requests with an activity, GET requests can also be signed. When you receive a GET request, you have no way of knowing which actor the signed key belongs to. I asked the same question at the Fediverse Developer Network in Matrix, and we concluded that the only way to do this is to maintain a separate actor–keyId table in the server.
When an #ActivityPub server implements authorized fetch (aka secure mode), how does it associate the keyId in an HTTP request with the actual actor? I know major implementations (like Mastodon) use a fragment appended to the actor IRI as a keyId, but in theory a keyId could be any IRI that seems unrelated to the actor IRI, right? Should I maintain a table of actor–keyIds somewhere in the server?
Fedify 0.6.0 has been released! Here are the major changes:
• The docs website has been migrated from Lume to VitePress, is more beautiful, and is finally searchable with ^K/⌘K!
• To improve interoperability with servers that have authorized fetch turned on, also known as secure mode, Fedify has changed to use the authenticated document loader by default in as many cases as possible.
• New @fedify/fedify/x/hono module to help integrate with the Hono web framework has been introduced.
• Added small fixes to help with debugging activity delivery.
I've written a guide to integrating with web frameworks in the #Fedify docs, explaining how to use the built-in #Fresh and #Hono integration middleware, as well as the mechanisms for integrating with other frameworks.
@twilliability Although this documentation is being done as part of the Fedify project's docs, it would be great to have a more general docs project for the pragmatic aspects of Activity Vocabulary.
I'm writing a section in the #Fedify docs on the pragmatic side of the Activity Vocabulary APIs, and I want to list how each API is used and how it is displayed in the major implementations.
An intersectionalist, feminist, and socialist guy living in Seoul (UTC+09:00). Write some free software in #Haskell, #Rust, #Deno, & #Python. They/them. #國漢文混用 #한국어 (#朝鮮語) #English #日本語