2014-06-17 27 views
8

Bir sunucuya akış bağlantısı için EventSource kullanmaya çalışıyorum. Ancak, temel XHR isteğine bir oturum anahtarı üstbilgisi ayarlamanız gerekiyor. XHR'ye EventSource nesnesinden, mümkün olsa bile nasıl erişebilirim? Teşekkürler!EventSource XHR üstbilgileri

CORS'in EventStream ile henüz desteklenip desteklenmediğinden emin olmadığımı, bunun benim için ilk etapta çalışmasını önleyeceğinden emin değilim, ancak bazı yerlerde desteklenmesini istiyorum ...

cevap

8

İlk olarak, iyi haber, SSE'yi destekleyen her tarayıcının CORS'in desteklediği ve onunla birlikte çalıştığı hakkındadır. (Alışılmadık kombinasyonu olan modern bir otomatik güncelleme tarayıcının en güncel sürümünü dışı bir çalışan ısrar kullanıcılarla ilgili eğer sadece problemlere vuracaktır yüzden Bir yıl önce, sorunlar vardı.)

  • Şimdi Kötü haber: üstbilgileri EventSource isteklerine ayarlayamazsınız. Üstbilgileri ayarlayabilmek istiyorsanız, iyi bir XHR akışına geri dönmeniz gerekecektir. Diğer taraftan, çerezler gönderilir, yani eğer oturum bilgileriniz çerez tarafından gönderilebiliyorsa, o zaman işe yarayacaktır. Diğer yandan, CORS ile kurabiyeler çakışır; Bu nedenle, üçüncü taraf siteleriyle hem SSE'ye hem de kimlik doğrulamaya ihtiyacınız varsa, hayal kırıklığına uğrayacaksınız. XHR'yi kullanmaya geri dönmek zorundasınız.

bariz fiş için özür dilemek istiyorum ama benim bildiğim en iyi bilgi kaynağıdır, hem bu konularla ilgili, my book on SSE bölüm 9. Yazması en zor bölümdü.

0

Alternatif bir yaklaşım, yetkilendirme belirtecinizi URL yoluyla ve HTTPS ile birlikte göndermek olabilir; ancak bu, jeton ele geçirme işleminden hala emin olabilir.

İlgili konular