I can’t figure out how to get any posts to federate to Mastodon, I can follow the actors fine. I get these errors in the logs when Discourse attempts to deliver a post:
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/a93549c3c7883784eda700f30de0c96b failed to deliver to https://mstdn.party/users/staff/inbox --- !ruby/hash:ActiveSupport::HashWithIn
[Discourse Activity Pub] POST request to https://mastodon.neat.computer/users/jonah/inbox failed: Expected([200, 201, 202]) <=> Actual(401 Unauthorized)
[Discourse Activity Pub] https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce failed to deliver to https://mastodon.neat.computer/users/jonah/inbox --- !ruby/hash:ActiveSupport:
[Discourse Activity Pub] POST request to https://mstdn.party/users/staff/inbox failed: Expected([200, 201, 202]) <=> Actual(401 Unauthorized)
I disabled Activity pub require signed requests
and enabled logging in settings, otherwise all the settings are still their defaults. These Mastodon instances are behind Cloudflare but I can see Cloudflare is not blocking the requests, and the mastodon-web service logs show that Mastodon itself is returning the 401 codes (although I don’t know how to increase the verbosity of Mastodon’s logs to see why that’s the case).
Is there any reason this’d happen?
Edit: Mastodon doesn’t like the HTTP signatures, although this instance does not have Authorized Fetch enabled:
Mar 08 16:47:07 neat-mastodon bundle[3119591]: D, [2025-03-08T16:47:07.963455 #3119591] DEBUG -- : [e6b2bc50-09e1-464e-a937-4c43ef32bd99] Signature verification failed: Request not signed
Mar 08 16:47:07 neat-mastodon bundle[3119591]: I, [2025-03-08T16:47:07.964520 #3119591] INFO -- : [e6b2bc50-09e1-464e-a937-4c43ef32bd99] method=POST path=/users/jonah/inbox format=html controller=ActivityPub::InboxesController action=create status=401 allocations=1256 duration=9.15 view=0.69 db=1.86
Edit 2: Seems like the inbox for my Discourse users are inaccessible: https://verify.funfedi.dev/?actor_uri=jonah%40discuss.privacyguides.net
"Resolving acct:jonah@discuss.privacyguides.net using webfinger",
"Resolved to https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce",
"Running verification for alice",
"Got inbox None", [...]
It does work as expected for the group actor: https://verify.funfedi.dev/?actor_uri=articles%40discuss.privacyguides.net
Edit 3: for a GET request to https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce
{
"id": "https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce",
"type": "Person",
"updated": "2025-03-08T06:34:19Z",
"url": "https://discuss.privacyguides.net/u/jonah",
"name": "Jonah Aragon",
"inbox": null,
"outbox": null,
"sharedInbox": "https://discuss.privacyguides.net/ap/users/inbox",
"followers": "https://discuss.privacyguides.net/ap/actor/227cc2ddaa4ded69c2a58214031da3ce/followers",
"preferredUsername": "jonah",
"icon": {
"type": "Image",
"mediaType": "image/png",
"url": "https://forum-cdn.privacyguides.net/user_avatar/discuss.privacyguides.net/jonah/96/8151_2.png"
},
"@context": "https://www.w3.org/ns/activitystreams"
}