Shopify: Wie gehe ich mit einer Deinstallation und einer sofortigen Neuinstallation um?

Ich hatte vor kurzem den Fall, dass ein Benutzer meine Shopify-App deinstallierte und sofort wieder installierte. Dies verursachte ein Problem, da ich alle meine Benutzer in einer DB-Tabelle speichere.

Login / Installation funktioniert wie folgt:

Der Benutzer teilt mir seine Shop-URL mitIch leite den Benutzer an example.myshopify.com/admin/oauth/authorize weiter, wo der Zugriff auf meine App gewährt wirdIch überprüfe, ob diese Shop-URL bereits in meiner lokalen Benutzer-DB gespeichert istWenn nicht: Ich fordere ein permanentes Zugriffstoken an und leite den Benutzer zur Planauswahlseite weiterWenn ja: Ich erhalte das gespeicherte permanente Zugriffstoken aus der Benutzer-DB und logge den Benutzer in meine App ein

Deinstallation:

Der Benutzer deinstalliert meine App in seinem Shopify-BackendShopify sendet einen Webhook an meine AppIch entferne die Daten dieses Benutzers aus der Benutzer-DB

Das Problem ist, dass die Webhooks manchmal verzögert sind. Wenn ein Benutzer deinstalliert und sofort neu installiert wird, wird meine App die Installation als Anmeldeversuch betrachten und das jetzt ungültige Zugriffstoken verwenden, das in der Benutzerdatenbank gespeichert ist.

Ich dachte, ich könnte nur überprüfen, ob die Umleitung von der Autorisierungsseite ein temporäres Zugriffstoken enthält, und wenn ja, wäre es eine Neuinstallation, aber es scheint, dass das Zugriffstoken zurückgegeben wird, selbst wenn die App bereits installiert wurde.

Meine Frage lautet also: Wie kann ich die sofortige Neuinstallation ordnungsgemäß handhaben? Sicherlich habe ich etwas übersehen, aber es kann keinen so großen "Logikfehler" in der Shopify-API geben.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage