-
|
Hm so I am unsure why, but I get issues following from gotosocial: gts.mtrnord.blog here is a gotosocial instance and mtrnord.blog is a fresh wordpress blog with this plugin in the (currently) latest version. Federation from gts.mtrnord.blog works fine with mastodon and other fediverse instances. However to this plugin following and unfollowing (POST in general) fails with I tried to turn on authorized fetch too, but that had no effect. Does someone know a trick I missed or a way to get better info on why this happens/allowing me to debug this and get logs to solve this? :) The server runs php-fpm with nginx in front for wordpress. The somewhat janky nginx config here is https://github.com/MTRNord/cluster/blob/main/apps/talos_cluster/blog/docker/wordpress.conf but I think this is configured correctly and shouldnt cause 401 at nginx level for that. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 11 replies
-
|
@MTRNord can you share the version of you gotosocial instance? |
Beta Was this translation helpful? Give feedback.
-
|
I created a fix in #2354. It feels almost like a bug in GoToSocial, where they serve two different objects for the same ID, the full actor object and a partial public key object. Both use the user path as their ID: {
"@context": [...],
"discoverable": true,
"featured": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/collections/featured",
"followers": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/followers",
"following": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/following",
"hidesCcPublicFromUnauthedWeb": true,
"hidesToPublicFromUnauthedWeb": false,
"id": "https://gotosocial-production-f7fa.up.railway.app/users/obietester",
"inbox": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/inbox",
"manuallyApprovesFollowers": false,
"name": "obietester",
"outbox": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/outbox",
"preferredUsername": "obietester",
"publicKey": {
"id": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/main-key",
"owner": "https://gotosocial-production-f7fa.up.railway.app/users/obietester",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzcBN0ce7t2EnJTHoxTGW\nI/5ptpoT4L3DztbB5Xd2xDklRhUZDrB1l2p/z9Dct1ZU8KtQNpGe9KAGeUpgFksx\nBCQt2tX0LlpBHTks5ifQlczVo+YYM2hzSJAh9ElWX/Y6rcZRzCs8B6zMAc+NWvgm\nFJa+uvo9HqnLvTDSJwodIDLoZ3i9hjYKnb65xhgRjSBiLr9ljv5lfCSFDEjNJUHL\nW93FWB9RKrC3WA9+tk2c62Ak9MV5/8tSlWLCwlPwfduGWuDhweQ3RLjF+7ALrI9v\nEKuTzFhxXAaFBOE6Zi2gF5ma9zGikCRayllORbYmKC15V808+VIZZ+G0tFrUB6Zl\nZwIDAQAB\n-----END PUBLIC KEY-----\n"
},
"published": "2025-10-21T19:21:52Z",
"tag": [],
"type": "Person",
"url": "https://gotosocial-production-f7fa.up.railway.app/@obietester"
}{
"@context": [...],
"id": "https://gotosocial-production-f7fa.up.railway.app/users/obietester",
"preferredUsername": "obietester",
"publicKey": {
"id": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/main-key",
"owner": "https://gotosocial-production-f7fa.up.railway.app/users/obietester",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzcBN0ce7t2EnJTHoxTGW\nI/5ptpoT4L3DztbB5Xd2xDklRhUZDrB1l2p/z9Dct1ZU8KtQNpGe9KAGeUpgFksx\nBCQt2tX0LlpBHTks5ifQlczVo+YYM2hzSJAh9ElWX/Y6rcZRzCs8B6zMAc+NWvgm\nFJa+uvo9HqnLvTDSJwodIDLoZ3i9hjYKnb65xhgRjSBiLr9ljv5lfCSFDEjNJUHL\nW93FWB9RKrC3WA9+tk2c62Ak9MV5/8tSlWLCwlPwfduGWuDhweQ3RLjF+7ALrI9v\nEKuTzFhxXAaFBOE6Zi2gF5ma9zGikCRayllORbYmKC15V808+VIZZ+G0tFrUB6Zl\nZwIDAQAB\n-----END PUBLIC KEY-----\n"
},
"type": "Person"
}So far we've only accounted for In the fix I just went ahead and add a GoToSocial-specific fix. I'd rather do that than try to account for partial actor objects further down the stack. |
Beta Was this translation helpful? Give feedback.
I created a fix in #2354.
It feels almost like a bug in GoToSocial, where they serve two different objects for the same ID, the full actor object and a partial public key object. Both use the user path as their ID:
{ "@context": [...], "discoverable": true, "featured": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/collections/featured", "followers": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/followers", "following": "https://gotosocial-production-f7fa.up.railway.app/users/obietester/following", "hidesCcPublicFromUnauthedWeb": true, "hidesToPublicFromUnauthedWeb": false, "id": "https://gotosocial-production-f7fa.up.railway.app/…