KamoCRM

Odmawiaj postów webhook dla połączeń Discord, które otrzymują tylko DM przez Gateway

FixMediaService
Shipped
17 września 2026 03:13 UTC
Author
Kamo
Commit
29369e3

Discord DM docierają do MediaService tylko za pośrednictwem WebSocket DiscordGatewayManager, który publikuje bezpośrednio do Social.inbound.raw. Ale każde połączenie społeczne ma token naczepy do webhook, a SocialInboundController weryfikuje post do /api/social/webhook/'token' z dowolnym adapterem nazw połączeń tokena. DiscordAdapter.verifyWebhook - Kto odpowiedział? Odpowiedział na prawdę, przy założeniu, że nigdy nie został wezwany. Więc każdy trzymający tokena nawiązywania połączenia Discord Może opublikować domyślny MESSAGE_CREATE i połknąć go jako DM, tworząc rozmowę i przewagę pod dowolnym - Nazwij imię. Nie ma podpisu do weryfikacji: Discord nigdy nie wysyła żądania na tę ścieżkę (jego interakcja podpisana w Ed25519 Punkt końcowy to inna funkcja, której ten adapter nie zaimplementuje). Więc sprawdź, czy Webhook teraz odmawia, a post Dla połączenia Discord jest 403, zanim cokolwiek zostanie zarejestrowane lub opublikowane. Ścieżka Gateway jest nietknięta. SocialInboundDiscordWebhookTest publikuje kute DM przez kontroler z prawdziwym adapterem: 403, nic Zarejestrowany, nic opublikowanego. Dostawca, którego adapter weryfikuje, nadal przechodzi przez ten sam punkt końcowy. Z starymi Przywróćmy prawdziwy, pierwszy test nie powiedzie się.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing