CORS, appens proxy-URL og nettleserforespørsler

CORS, appens proxy-URL og nettleserforespørsler

Kopier side

Utløs Shopify Flow-webhooker fra nettleseren: slå på CORS, bruk appens proxy-URL på butikkens domene, og forstå risikoen ved token i frontend.

En webhook utløses vanligvis fra server til server. Hvis du ønsker å utløse en fra en nettleser - for eksempel fra nettbutikken din, en destinasjonsside eller en kundeportal - er det to innstillinger som er viktige: Aktiver CORS og Bruk app-proxy-URL. Begge finnes under Avanserte innstillinger for webhooken.

Aktiver CORS

Nettlesere avviser forespørsler på tvers av domener med mindre mottakerserveren gir tillatelse til det. Slå på Enable CORS, så vil webhooken svare på nettleserens preflight-forespørsel og godta anropet.

Preflight-funksjonen tillater også at hvilken som helst header inneholder tokenet ditt, inkludert et egendefinert headernavn du selv har angitt, slik at nettleseren ikke støter på problemer med det.

Bruk appens proxy-URL

Hver webhook har to adresser, og begge vises med en kopieringsknapp under URL-innstillingene:

URL Det ser ut som Merknader
Direkte URL til appen appens domene, som slutter med webhook-koden Fungerer alltid, også i utviklingsmiljøer og i passordbeskyttede nettbutikker
URL for app-proxy en sti på butikkens eget domene Samme opprinnelse som nettbutikken din, slik at nettleseren behandler den som en førstepartsforespørsel

Slå på Bruk appens proxy-URL for å publisere proxyadressen. Dette gir en mer sømløs integrasjon med butikkfronten, og siden det er samme opprinnelse, trenger du ofte ikke CORS i det hele tatt.

Det du bør vite før du slår den på:

  • Butikkfronten må være tilgjengelig. I en passordbeskyttet butikk, for eksempel en utviklingsbutikk, svarer proxy-URL-en først etter at passordet til butikkfronten er oppgitt, slik at brukere utenfor butikken din ikke kan bruke den der.
  • IP-tillatelseslister gjelder ikke for proxy-URL-en: disse forespørslene kommer til oss fra Shopifys servere, så adressen deres sier ingenting om den opprinnelige avsenderen.
  • Shopify signerer alle forespørsler via proxy-URL-en. Du kan bruke dette til å la kun innloggede kunder utløse webhooken, deaktivere den direkte URL-en og hente kundens ID i Shopify Flow: se Kunder som er logget inn på nettbutikken din.

Autentisering fungerer på samme måte på begge adressene. Det samme gjelder Beskyttelse mot dobbeltlevering, historikken og planens begrensning.

Tillat en tilpasset forespørselstekst

Også under «Avanserte innstillinger»: Alternativet Tillat tilpasset forespørselstekst deaktiverer streng validering av forespørselsteksten, slik at webhooken godtar alle JSON-formater, ikke bare feltene du har tilordnet. Bruk dette når avsenderens nyttelast er dynamisk eller når du ikke har kontroll over den. Tilordnede felt sendes fortsatt til Shopify Flow på samme måte - se Kartlegging av nyttelast og Shopify Flow-variabler.

Relatert