Carrier-zugewandte inbound SMS Webhook (MS1 Task 2)

FeatureVOIPService
Verschifft
27. August 2026 um 18:34 UTC
Autor
Kamo
Ausschuss
1899050

POST ************ -- formkodiert oder JSON, bewacht von der CARRIER'S OWN SIGNATURE. Warum ein neuer Endpunkt. /api/voip/webhook keinen STOP erhalten kann und leise scheitert: es readTree() ist der Körper ohne "Verbrauch"-Beschränkung, jeder Bulk-Text-Träger posts **************** die Parse wirft, die Ausnahme ist geschluckt und der Träger ist beantwortet 200 OK -- so dass es nie wiedertries. Bestätigt in der aktuellen Quelle, bevor Sie dies schreiben. Warum dieser Weg. ************ hält "/api/bulktext/send" und passt zu Beginn mit, also verlangt alles darunter eine X-Internal-Auth Kopfzeile, die ein Träger nicht senden kann. /api/bulktext/inbound ist ein SIBLING von /send, ist hinzugefügt zu **************** und ist absichtlich NICHT registriert in InternalAuthFilter. Twilio-Signatur: HMAC-SHA1 über die vollständige URL (Abfrage-String enthalten) plus POST-Parameter angefügten Namen-Damit-Damit-Wert in der Case-sensitive sortierte Reihenfolge, base64, im Vergleich zu X-Twilio-Signature mit MessageDigest.isEqual. Gegen verifiziert Twilios Sicherheitsdokumentation, dann an den veröffentlichten Vektor von Twilios eigener twilio-java RequestValidatorTest (Token 12345 - RSOYDt4T1cUTdK1PDd93/VVr8B8=), so dass der Test nicht für einen falschen Algorithmus bestehen kann. Modelliert auf MicrosoftTeamsProvider (leeres Geheimnis -- log + falsch; Ausnahme -- false; konstant-zeit Vergleich); NICHT auf RingCentralProvider's Return true; // TODOC, und RingCentralSignatureUtil'sIgnoreCase wird nicht wiederverwendet. Die signierte URL wird von X-Forwarded-Proto/Host umgebaut, nicht getRequestURL(). Die edge beendet TLS, so getRequestURL() gibt das eigene System des Containers zurück und Gastgeber, das ist nicht das, was Twilio unterzeichnet -- jede Unterschrift würde scheitern und die Ein Scheitern würde genau wie eine Fälschung aussehen. FLOWROUTE IS PARSE-ONLY UND STILL REFUSES JEDEN WEBHOOK. Flowroute veröffentlicht keine Webhook-Signatur: seine Inbound-Message-Dokumente geben die Callback-URL, die Anwendung/vnd.api+json Inhaltstyp und die Nutzlastform, keine Signatur Header, HMAC Schema oder gemeinsames Geheimnis. Es gibt nichts zu überprüfen, so hält es der ausfallgeschlossene Standard, anstatt ein erfundenes Schema zu bekommen -- ein erfundenes Schema man würde entweder alle echten Verkehr ablehnen oder geschrieben werden, um wahr zurück, die ist die Fälschung Oberfläche, die diese Schnittstelle zu verhindern existiert. Flowroute auch nicht post form-encodiert, so akzeptiert auch "consumes" vnd.api+json. Sinch, Infobip und Vonage wird auf beide Methoden nicht umgesetzt und protokolliert eine Warnung, die sich selbst benennt. TDD-Beweis ---------- Rot (Klasse fehlt): [ERROR] ************ nicht finden Symbol: Klasse BulkTextInboundController Standort: Klasse ************ Grün: Testslauf: 27, Ausfälle: 0, Fehler: 0, Übersprung: 0 Mutation 1 -- DER EINE DER PLAN NAMEN, und es beweist nichts. Plan Task 2 Schritt 8 sagt: machen validateWebhookSignature Standard zu "true" und aMissingWebhookSecretRejects müssen rot werden. Beobachtet: Tests Lauf: 24, Ausfälle: 0, Fehler: 0, Übersprung: 0 [INFO] BUILD ERFOLG Nichts ist rot geworden. Jede Testfahrt Twilio, die die Standardeinstellung überschrieben, so dass die ausgefallener Zahlungsausfall wurde durch keinen Test ausgeübt und hätte schweigend sein können invertiert zu jeder Zeit -- Drehen vier Träger aus "Verweigerung alles" in "akzeptiert alles" auf einem Endpunkt, wo die Annahme von etwas lässt einen Fremden Die Zustimmung des Verbrauchers widerrufen. Geschlossen durch Hinzufügen ************, das die Voreinstellung auf ein nacktes Pins Umsetzung und auf die vier echten Träger, die sich darauf verlassen. Re-Running das gleiche Mutation dagegen: ******************** ******************** [Ein nicht umgesetzter Träger darf niemals einen nicht überprüfbaren Webhook akzeptieren] Erwarten Wert falsch zu sein, aber war wahr ******************** ******************** [SinchTextProvider muss geschlossen ausfallen] Erwarten Wert falsch zu sein, aber war wahr Mutation 2 -- derjenige, der tatsächlich auf den Plan benannten Test abzielt: Twilio's blank-authToken Wache geändert von "rend zurück" zu "Return true". Beobachtet: ******************** ******************** voraussichtlich 403 aber war: 200 ******************** ******************** Erwarten Wert falsch zu sein, aber war wahr Mutation 3 -- die Parametersorte umgekehrt (TreeMap natürliche Ordnung - . Comparator.reverseOrder()), um den Algorithmus-Test zu zeigen, ist nicht vacuous: ******************** ******************** Der Wert zu erwarten, wahr zu sein, war aber falsch ******************** ******************** voraussichtlich 200 aber war: 403 Alle drei Mutationen kehrten um. Volle Suite nach Ret: Prüfungen Lauf: 290, Ausfälle: 0, Fehler: 0, Übersprungen: 0 / BUILD SUCCESS Bekannte Lücken, absichtlich und zur Laufzeit protokolliert ******************** * Eine verifizierte Inbound-Nachricht wird erkannt und LOGGED BUT NOT RECORDED. Die Hand-off zu SmsKeywordService ist ein markierter TODO, weil diese Klasse ankommt Aufgabe 3. Dieser Endpunkt unterdrückt noch nichts. * Org Auflösung scannt aktive Instanzen und passt die To-Nummer mit KontaktCanon.phone. Es gibt keine Zahl Inventar -- die einzige Eigentumsnachweis ist die Single zunichte- FROM_PHONE_NUMBER auf BulkTextProviderInstance, ohne Sucher und kein Index. Kein Match, oder ein Spiel über zwei Orgs, Attribute der Nachricht an niemanden und Protokolle; raten, ein Mieter würde einen Widerruf aufnehmen gegen den falschen, was schlimmer ist, als es nicht aufzunehmen. Needs ADD5/MS3. * InboundSms trägt keinen Carrier-Zeitstempel: Twilios eingehender SMS-Webhook nicht senden Sie ein. Task 3's "ConsentedAt kommt von der Träger-Veranstaltung, nie jetzt()" ist daher nicht zufrieden für Twilio. Refs: ************

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen