2014-06-17 23 views
8

Próbuję użyć EventSource do połączenia strumieniowego z serwerem. Ale muszę ustawić nagłówek klucza sesji dla podstawowego żądania XHR. Jak uzyskać dostęp do XHR z obiektu EventSource, jeśli jest to możliwe? Dzięki!EventSource XHR headers

Nie jestem pewien, czy CORS jest jeszcze obsługiwany przez EventStream, co uniemożliwiłoby mi pracę przede mną, ale w niektórych miejscach przeczytałem, że powinien on być obsługiwany ...

Odpowiedz

8

Po pierwsze, dobrą wiadomością jest to, że każda przeglądarka obsługująca SSE ma również obsługę CORS i pracę z nią. (Rok temu były problemy, więc trafisz tylko problemy, jeśli do czynienia z użytkownikami, którzy kładą nacisk na prowadzenie Spośród aktualnej wersji nowoczesnej przeglądarki auto-aktualizacji, która jest niezwykła kombinacja.)

  • teraz zła wiadomość: nie można ustawić nagłówków na żądanie EventSource. Będziesz musiał wrócić do dobrego streamingu "ole XHR", jeśli chcesz mieć możliwość ustawienia nagłówków.

  • Z drugiej strony wysyłane są pliki cookie, więc jeśli informacje o sesji mogą być wysyłane przez cookie, to będzie działać.

  • Z drugiej strony, ciasteczka ścierają się z CORS; więc jeśli potrzebujesz zarówno SSE, jak i uwierzytelniania na stronach innych firm, będziesz sfrustrowany. Musisz skorzystać z XHR.

Przepraszamy za rażące wtyczki, ale najlepszym źródłem informacji wiem, na obu tych tematów, to rozdział 9 my book on SSE. To był najtrudniejszy rozdział do napisania :-).

0

Alternatywnym podejściem byłoby wysłanie tokena autoryzacyjnego za pośrednictwem adresu URL iw połączeniu z protokołem HTTPS byłoby nadal bezpieczne przed przechwyceniem tokenu.