CORS, uygulama proxy URL’si ve tarayıcı çağrıları

CORS, uygulama proxy URL’si ve tarayıcı çağrıları

Sayfayı kopyala

Shopify Flow webhook’unu tarayıcıdan çağırmak için CORS’u etkinleştirin, uygulama proxy URL’sini kullanın ve açığa çıkan token risklerini görün.

Bir webhook genellikle sunucu-sunucu arasında çağrılır. Bir webhook’u tarayıcıdan (mağaza sayfanız, açılış sayfası veya müşteri portalı gibi) çağırmak istiyorsanız, iki ayar önemlidir: CORS’u Etkinleştir ve Uygulama proxy URL’sini Kullan. Her ikisi de webhook’un Gelişmiş ayarları altında bulunur.

CORS'u etkinleştir

Alıcı sunucu izin verdiğini belirtmedikçe, tarayıcılar kaynaklar arası istekleri reddeder. CORS’u Etkinleştir seçeneğini seçtiğinizde, webhook tarayıcının ön kontrol isteğine yanıt verir ve çağrıyı kabul eder.

Uçuş öncesi kontrol, token’ınızı taşıyan herhangi bir başlığı da kabul eder; buna, kendiniz belirlediğiniz özel bir başlık adı da dahildir; böylece tarayıcı bu konuda bir sorun yaşamaz.

Uygulama proxy URL’sini kullan

Her webhook'un iki adresi vardır; her ikisi de URL ayarlarının altında bir kopyala düğmesiyle gösterilir:

URL Görünüşe göre Notlar
Uygulamanın doğrudan URL'si webhook koduyla biten uygulama etki alanımız Geliştirme ortamındaki ve şifre korumalı mağazalar da dahil olmak üzere her zaman çalışır
Uygulama proxy URL'si mağazanın kendi etki alanındaki bir yol Mağazanızla aynı kaynakta olduğundan, tarayıcı bunu birinci taraf isteği olarak değerlendirir

Proxy adresini yayınlamak için Uygulama proxy URL’sini kullan seçeneğini etkinleştirin. Bu, mağaza arayüzüyle daha sorunsuz bir şekilde entegre olur ve aynı kaynak olduğundan genellikle CORS’a hiç gerek kalmaz.

Cihazı çalıştırmadan önce bilmeniz gerekenler:

  • Mağaza arayüzüne erişilebilmesi gerekir. Geliştirme mağazası gibi şifre korumalı bir mağazada, proxy URL’si ancak mağaza şifresi girildikten sonra yanıt verir; bu nedenle, mağazanızın dışındaki kullanıcılar bu URL’yi orada kullanamaz.
  • IP izin listeleri, proxy URL’si için geçerli değildir: bu istekler bize Shopify’ın sunucularından ulaşır; dolayısıyla adresleri, asıl istek sahibine dair hiçbir bilgi vermez.
  • Shopify, her isteği proxy URL’si üzerinden imzalar. Bunu kullanarak yalnızca oturum açmış müşterilerin webhook’u çağırmasına izin verebilir, doğrudan URL’yi devre dışı bırakabilir ve Shopify Flow’da müşterinin kimliğini alabilirsiniz: bkz. Mağazanızda oturum açmış müşteriler.

Kimlik doğrulama, her iki adreste de aynı şekilde çalışır. Aynı şekilde Yinelenen teslimat koruması, geçmiş ve plan sınırı da öyle.

Özel istek gövdesine izin ver

Ayrıca Gelişmiş ayarlarda: “Özel istek gövdesi izin ver” seçeneği, sıkı gövde doğrulamayı devre dışı bırakır; böylece webhook, yalnızca eşleştirdiğiniz alanlar yerine herhangi bir JSON biçimini kabul eder. Göndericinin yükü dinamik olduğunda veya bunu kontrol edemediğinizde bu seçeneği kullanın. Eşleştirilen alanlar yine de aynı şekilde Shopify Flow’a ulaşır - bkz. Yük haritalama ve Shopify Flow değişkenleri.

İlgili