KamoCRM

Ein OAuth Zustand Token ist ein Server-Seite Rekord, nicht ein Blob der Browser Hände zurück

FixEmailService
Verschifft
23. September 2026 um 02:58 UTC
Autor
Kamo
Ausschuss
78c4a87

/api/email/oauth/callback und ************ sind öffentlich und sessionless (die Provider leitet den Browser hier ohne Kamo-Sitzung um), also war "State" der einzige Ort Organisation konnte von kommen und es war selbstbeschreibende Basis64 JSON der CALLER gebaut: {"orgId": 1, "Nonce": "..., "Provider": "GOOGLE_WORKSPACE" Jeder konnte eine Handarbeit basteln, die eine verschiedene org und spielen Sie es gegen einen Autorisierungscode, den sie für ihre eigenen erhalten; die "Nonce" im Inneren wurde es erzeugt, aber nie gespeichert oder gegen etwas überprüft, so dass es nichts gestoppt. Die Callback vertrauenswürdig orgId/Provider/memberId direkt aus dieser Dekodierung und aktiviert die verbunden Anbieter für welche Org der Staat benannt. OAuthStateStore prägt jetzt einen undurchsichtigen, unvorstellbaren Token auf "Issue", das Org/Mitglied/Anbieter/ fließt es auf eine Redis-Platte mit 10-minütigem TTL - nie im Token selbst. "Peek" liest diese Aufzeichnung, ohne sie auszugeben (verwendet, um die umgeleitete URI und den Fluss vor einem Callback verpflichtet sich zu einem Handler); "Verbrauchen" liest und löscht ihn dauerhaft, so dass ein Rückruf ist Single-Use: ein wiedergegebenes oder wiederverwendetes Token löst zu nichts, ununterscheidbar von einem, das nie existierte. OAuthFlowService und GroupwareOAuthService - die diesen Blob gebaut und dekodiert haben unabhängig, jeder mit seiner eigenen Kopie des gleichen Mechanismus - jetzt sowohl Mint und einlösen Token durch diesen einen Laden, so gibt es genau einen Ort, der entscheidet, was ein Zustand Token bedeutet. OAuthStateStoreTest scheitert ohne den Fix (ein zweiter Konsum desselben Tokens liefert immer noch die aufnehmen statt null); OAuthFlowServiceTest, OAuthFlowKindStateTest und GroupwareOAuthServiceTest werden für den neuen Mechanismus aktualisiert - sie bauen oder dekodieren einen Zustand Blob direkt nicht mehr, da es gibt nichts mehr zu entschlüsseln.

Alle Änderungen

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen