Shopify / Shopify/shopify_python_api

Signature validation should support validating with an old secret

Offen
#101 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature request
Vorherrschende Sprache
Python
Sterne
1.4k
Forks
388
Ø Merge
5 Std. 39 Min.
Gemergte PRs (30 T.)
1

Beschreibung

Problem

Oauth2 signature validation will fail when during credential rotation, since the signature is generated with the oldest secret, and validation can only be configured to validate against a single secret in shopify_python_api.

Solution

This needs to be handled similar to webhook validation, where it must be possible to specify the old API secret as well as the new one for signature validation, and accept the signature if it matches the ones generated with either secret.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Im Issue werden keine Dateien oder Tests genannt. Beginne damit, den vorhandenen Einstiegspunkt für die OAuth2-Signaturvalidierung zu finden und seine Konfiguration und sein Verhalten mit der in der verlinkten Dokumentation zur Rotation von Zugangsdaten beschriebenen Webhook-Validierung zu vergleichen. Als abgeschlossen gilt die Aufgabe, wenn die Validierung Signaturen akzeptiert, die entweder mit dem aktuellen oder dem alten API secret erzeugt wurden, und dabei das bisherige Verhalten mit einem einzelnen Secret erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api, authentication, security
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.