@pfefferle - is there an easy way to test a working ActivityPub installation? I have it running on https://www.rhein-neckar-tango.de, and webfinger looks good et al, but @news@www.rhein-neckar-tango.de cannot be found by three Mastodon instances that I tested. Any ideas?
Tried, because i was curious... :-)
If i try to open https://www.rhein-neckar-tango.de/@news (a valid alias according to #WebFinger) it ends up in a 401...
{"code":"activitypub_signature_verification","message":"Anfrage nicht signiert","data":{"status":401}}
Is "news" activated for the public?
And https://www.rhein-neckar-tango.de/?author=0 ends up in a 403.
But... simple tests using a browser, so not requesting JSON ("application/activity+json").
https://www.rhein-neckar-tango.de/?author=daniel works - with author=0 it doesn’t, but I also don’t have a user by that name or ID.
@nick - Danke! It should be activated, as I have both authors and blog profiles activated. I also tried deactivation of all plugins except for ActivityPub, but that did not change anything. For author profiles to work, I had to activate them in YoastSEO. Rebuilding Permalinks also did not do anything for me.
Webfinger works on https://webfinger.net/lookup/?resource=https%3A%2F%2Fwww.rhein-neckar-tango.de%2F%40news
@nick - this was due to me activating the “signature verification” in ActivityPub, which is deactivated now.
Stupid question, but have you published anything after activating the plugin? Old content will not be federated.
Oh, not so stupid. No, I did not until ten seconds ago. But I was thinking that you should be able to find the user/blog to follow regardless of published post?
@danieldekay @NickBohle @pfefferle
Yes, lookup should work.
Requested now
https://www.rhein-neckar-tango.de/?author=0
as described in the #WebFinger result for "type": "application/activity+json"
with "Accept: application/activity+json"
and got a 403.
HTTP/1.1 403 Forbidden
Server: nginx
@danieldekay @NickBohle @pfefferle
Requesting
https://www.rhein-neckar-tango.de/@news
that way ends up in a 200.
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 10 Jan 2025 21:11:35 GMT
Content-Type: application/activity+json; charset=UTF-8
JSON includes
[id] => https://www.rhein-neckar-tango.de/?author=0
[type] => Group
So it seems to respond to (or define) the wrong URL / alias.
Great detective work. Now the big question: what could be the culprit for this wrong alias?
@danieldekay @NickBohle @pfefferle
I would assume, something in your configuration...
So hopefully @pfefferle will jump in here...
... until then, i can just guess. Do you have some kind of user or account definition for the #ActivityPub plugin in #WordPress, where you see some settings...? Where is the connection between "news" and "author=0"? Is 0 the internal ID? Or totally wrong?
This is done when the ActivityPub plugin creates one endpoint for the site vs. author based endpoints. Seems to be a virtual user, or so it looks like.
@danieldekay @NickBohle @pfefferle
Checking #WebFinger for pfefferle@notiz.blog it looks different and a little bit better...
"subject": "acct:pfefferle@notiz.blog",
"aliases": [
"acct:pfefferle@notiz.blog",
"https://notiz.blog/author/matthias-pfefferle/",
"https://notiz.blog/@pfefferle"
],
and...
@danieldekay @NickBohle @pfefferle
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://notiz.blog/author/matthias-pfefferle/"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://notiz.blog/author/matthias-pfefferle/"
},
So this looks more matching...
And no URL including a author parameter.
@nick @NickBohle @pfefferle@notiz.blog
I’d need to check the source code of ActivityPub to understand better. @pfefferle@mastodon.social to the rescue?
@danieldekay @NickBohle @pfefferle@notiz.blog @pfefferle@mastodon.social
The source code of the #ActivityPub plugin for #WordPress, i assume...
Btw.: Wondered about the actor type "Group".
@nick @danieldekay @NickBohle @pfefferle@notiz.blog this is when you have the blog-user and authors enabled for ActivityPub. To not produce duplicate content, the blog acts like a group that re-shares the posts of the authors.
This makes WordPress also compatible with lemmy, nodebb, discourse and other BB systems.
re-share = announce activity !?!
@nick @danieldekay @NickBohle exactly.
you can check my blog as example:
* Blog-User (Group): @notiz.blog
* Author (Person): @pfefferle@notiz.blog
@pfefferle@mastodon.social @danieldekay @NickBohle @notiz.blog @pfefferle@notiz.blog
Okay, so the same way, that #Guppe groups work...
@danieldekay @nick @NickBohle something seems to block these ID-URLs: 'https://www.rhein-neckar-tango.de/?author=<ID>`
@nick @NickBohle @pfefferle@notiz.blog @pfefferle@mastodon.social
Thanks to all your help. So it seems my Wordpress site is behaving non-normal by denying the view of users via numeric ID.
I am not certain yet that this is the cause, but after I disabled my hoster’s “WP Toolkit”’s “Block author scans” function, the ?author=ID queries started working again.
Also I deactivated https://wpusermanager.com -- but that did not cause the problem, so it is reactivated.