ActivityPub: не отправлен user-agent с запросом, ошибка при создании клиента

Привет,

У меня возникли проблемы при попытке взаимодействия с некоторыми экземплярами Mastodon.

Похоже, что многие администраторы настроили конфигурацию так, чтобы взаимодействие разрешалось только с приложениями/серверами, предоставляющими заголовок User-Agent. Я заметил, что плагин ActivityPub этого не делает.

Не могли бы вы добавить заголовок User-Agent в будущих версиях при выполнении запросов?

Например: «Discourse-ActivityPub/x.y.z (+https://eg-discourse-domain.com)» или что-то подобное?

Это решит проблемы как с федерацией, так и с возможностью привязки профилей к экземплярам Mastodon, имеющим такое требование.

Спасибо за уделенное время и рассмотрение этого вопроса.

1 лайк

Это разумная просьба о новой функции. Я попробовал реализовать её в этом PR: DEV: Add support for optional User-Agent header in outgoing requests by pmusaraj · Pull Request #268 · discourse/discourse-activity-pub · GitHub

@pmusaraj Федерация работает как ожидалось! Спасибо!

Однако я по-прежнему вижу ту же ошибку при попытке привязать аккаунт к моему профилю в Discourse: из логов инстанса видно, что user-agent равен null, и создание клиента завершается неудачей.

Ссылка на мой профиль выглядит так:

https://example.com/u/ayr-ton/preferences/activity-pub

Можете ли вы предоставить скриншот лога экземпляра с ошибкой?


Произошла ошибка: заголовок user-agent не был отправлен с запросом. Не удалось создать клиент.

В логах экземпляра я вижу то же самое: «user-agent не отправлен».

Эти ошибки также возникали, когда пользователи из того же экземпляра пытались подписаться на аккаунты из Discourse, но сейчас это исправлено в последнем коммите.

Также интересно, что логи этого действия не отображаются в записях плагина.

1 лайк

Для тестирования вы можете попробовать привязать свой профиль к ayr-ton.net или alquimidia.social.br, и вы увидите те же ошибки. Если вход выполнен, то user-agent также отправляется через конфигурацию профиля.

1 лайк

Спасибо, это должно быть исправлено после слияния:

Удивительно, user-agent исправлен! :flexed_biceps:

Единственная ошибка, которую я сейчас вижу (на экземплярах gotososocial, а на Mastodon всё работает как ожидается во всех сценариях):

invalid_request Bad Request: redirect_uri was not set in the token request form

Как думаешь, это хороший первый PR для меня?

1 лайк

Конечно, пожалуйста, отправьте PR, спасибо!

Случайно пометил ваш пост вместо того, чтобы нажать «Ответить», извините.

Кстати, как раз к Рождеству (в 2026 году):