CORS, l'URL del proxy dell'app e le richieste del browser
Abiliti il CORS e usi l'URL del proxy dell'app per richiamare un webhook di Shopify Flow dal browser del negozio, con i rischi di un token esposto.
Un webhook viene solitamente richiamato da server a server. Se desidera richiamarne uno da un browser - il Suo negozio online, una pagina di destinazione, un portale clienti - sono importanti due impostazioni: “Abilita CORS” e “Usa URL proxy dell’app”. Entrambe si trovano nelle impostazioni avanzate del webhook.
Abilitare CORS
I browser rifiutano una richiesta cross-origin a meno che il server destinatario non ne autorizzi l'esecuzione. Attivando l'opzione "Abilita CORS", il webhook risponde alla richiesta di preflight del browser e accetta la chiamata.
Il controllo preliminare consente inoltre di specificare qualsiasi intestazione che contenga il Suo token, compreso un nome di intestazione personalizzato da Lei stesso impostato, in modo che il browser non rilevi alcun problema.
Utilizzare l'URL proxy dell'app
Ogni webhook dispone di due indirizzi, entrambi visualizzati con un pulsante "Copia" nelle impostazioni dell'URL:
| URL | Sembra che | Note |
|---|---|---|
| URL diretto dell'app | il dominio della nostra app, che termina con il codice del webhook | Funziona sempre, anche sui negozi di sviluppo e su quelli protetti da password |
| URL del proxy dell'app | un percorso sul dominio del negozio stesso | Ha la stessa origine della Sua vetrina online, pertanto il browser la considera una richiesta di prima parte |
Attivi l’opzione “Utilizza l’URL proxy dell’app” per pubblicare l’indirizzo del proxy. Ciò garantisce un’integrazione più fluida con la vetrina online e, trattandosi di una stessa origine, spesso non è affatto necessario ricorrere al CORS.
Cose da sapere prima di accenderlo:
- La vetrina online deve essere accessibile. In un negozio protetto da password, come ad esempio un negozio di sviluppo, l’URL del proxy risponde solo dopo l’inserimento della password della vetrina online; pertanto, gli utenti esterni al Suo negozio non possono utilizzarlo in tale contesto.
- L'Elenchi di indirizzi IP autorizzati non si applica all'URL del proxy: tali richieste ci pervengono dai server di Shopify, pertanto il loro indirizzo non fornisce alcuna informazione sul mittente originale.
- Shopify firma ogni richiesta tramite l’URL proxy. È possibile utilizzarlo per consentire solo ai clienti che hanno effettuato l’accesso di richiamare il webhook, disattivare l’URL diretto e ottenere l’ID del cliente in Shopify Flow: si veda Clienti che hanno effettuato l'accesso alla Vetrina online del Suo negozio.
L'autenticazione funziona allo stesso modo su entrambi gli indirizzi. Lo stesso vale per Protezione contro le consegne duplicate, la cronologia e il limite del piano.
Consentire un corpo della richiesta personalizzato
Sempre nelle Impostazioni avanzate: l’opzione “Consenti corpo della richiesta personalizzato” disattiva la convalida rigorosa del corpo, consentendo al webhook di accettare qualsiasi formato JSON anziché limitarsi ai soli campi mappati. La si utilizzi quando il payload del mittente è dinamico o non è sotto il proprio controllo. I campi mappati continuano a pervenire a Shopify Flow allo stesso modo - si veda Mappatura del payload e variabili di flusso.
Correlati
- Autenticazione: ciò che il browser deve inviare.
- Mappatura del payload e variabili di flusso: quali campi vengono trasmessi a Shopify Flow.
- Clienti che hanno effettuato l'accesso alla Vetrina online del Suo negozio - solo clienti che hanno effettuato l'accesso, con l'ID cliente in Shopify Flow.
- Piani e utilizzo: ogni richiesta effettuata dal browser viene conteggiata ai fini del limite.
