CORS, appens proxy-URL og browseranmodninger

CORS, appens proxy-URL og browseranmodninger

Kopier side

Aktivér CORS, brug appens proxy-URL på butikkens domæne og se, hvad en webhook til Shopify Flow afslører, når den kaldes fra en browser.

En webhook udløses normalt fra server til server. Hvis du vil udløse en fra en browser - din webshop, en landingsside eller en kundeportal - er der to indstillinger, der er vigtige: »Aktiver CORS« og »Brug app-proxy-URL«. Begge findes under webhookens »Avancerede indstillinger«.

Aktivér CORS

Browsere afviser en anmodning på tværs af domæner, medmindre den modtagende server giver tilladelse til det. Aktiver »Enable CORS«, så svarer webhooken på browserens preflight-anmodning og accepterer opkaldet.

Preflight tillader også, at tokenet kan være indeholdt i en hvilken som helst header, herunder et brugerdefineret headernavn, som du selv har angivet, så browseren ikke støder på problemer med det.

Brug appens proxy-URL

Hver webhook har to adresser, som begge vises med en kopieringsknap under URL-indstillingerne:

URL Det ser ud til, at Bemærkninger
Direkte app-URL vores app-domæne, der slutter med webhook-koden Fungerer altid, også på udviklingsmiljøer og adgangskodebeskyttede butikker
App-proxy-URL en sti på butikkens eget domæne Samme oprindelse som din webshop, så browseren behandler den som en førstepartsanmodning

Aktivér »Brug app-proxy-URL« for at offentliggøre proxyadressen. Det integreres mere smidigt med webshoppen, og da det er samme oprindelse, behøver du ofte slet ikke CORS.

Det skal du vide, inden du tænder for den:

  • Webshops skal være tilgængelige. I en adgangskodebeskyttet webshop, f.eks. en udviklingswebshop, svarer proxy-URL’en først, når adgangskoden til webshoppen er indtastet, så brugere uden for din webshop kan ikke benytte den der.
  • IP-tilladelseslister gælder ikke for proxy-URL’en: disse anmodninger kommer til os fra Shopifys servere, så adressen siger intet om den oprindelige afsender.
  • Shopify underskriver alle anmodninger via proxy-URL’en. Du kan bruge dette til at sikre, at kun indloggede kunder kan udløse webhooken, deaktivere den direkte URL og hente kundens ID i Shopify Flow: se Kunder, der er logget ind på din webshop.

Godkendelsen fungerer på samme måde på begge adresser. Det samme gælder Beskyttelse mod dobbeltlevering, historikken og planens begrænsning.

Tillad en brugerdefineret anmodningstekst

Også under Avancerede indstillinger: Indstillingen »Tillad brugerdefineret anmodningsindhold« deaktiverer den strenge validering af indholdet, så webhooken accepterer enhver JSON-struktur i stedet for kun de felter, du har tilknyttet. Brug denne indstilling, når afsenderens payload er dynamisk, eller når du ikke har kontrol over den. De tilknyttede felter sendes stadig til Shopify Flow på samme måde - se Kortlægning af payload og strømningsvariabler.

Relateret