EventSourceで基本的なHTTP認証資格情報を送信することができるかどうか知っていますか?EventSourceと基本的なhttp認証
8
A
答えて
2
EventSourceは、イベントをクライアントに送信するサーバーに関するものです。私は認証のために双方向通信が必要だと思います。実際の資格情報をどうやって送るのですか?
WebSocketsはこれを達成できます。それはあなたが探しているものですか?
更新:
4esn0kで指摘したようにあなたは、クッキーを利用して、あなたが望むものを達成することができます。ブラウザーが接続を確立するための最初の要求とともに、Cookieが送信されます。したがって、EventSource接続を開始する前に、Cookieのセッション識別子を設定してください。
2
クッキー(HTTPではなくAUTH)についてのご講演場合:クッキーはのEventSource接続要求をsendedではされるように
のEventSourceは、HTTPを使用しています。
のHttp AUTHはスペックからCORS + HTTP認証が
1
をサポートしていませんが、私は同じ問題への解決策を探しています、他のHTTP URLとしてサポートされる必要があります。この投稿は、hereこれを言う:
もう一つ注意すべき点は、あなたが値を 承認クエリ文字列のparamを提出しなければならないことを意味する、のEventSourceを使用するときに我々が知る限り、あなたはHTTPに ヘッダを変更することはできませんということですHTTP基本認証を使用して が挿入されます: ログインとトークンのbase64エンコードされた連結。ここで
ポストからのコードです:
// First, we create the event source object, using the right URL.
var url = "https://stream.superfeedr.com/?";
url += "&hub.mode=retrieve";
url += "&hub.topic=http%3A%2F%2Fpush-pub.appspot.com%2Ffeed";
url += "&authorization=anVsaWVuOjJkNTVjNDhjMDY5MmIzZWFkMjA4NDFiMGViZDVlYzM5";
var source = new EventSource(url);
// When the socket has been open, let's cleanup the UI.
source.onopen = function() {
var node = document.getElementById('sse-feed');
while (node.hasChildNodes()) {
node.removeChild(node.lastChild);
}
};
// Superfeedr will trigger 'notification' events, which corresponds
// exactly to the data sent to your subscription endpoint
// (webhook or XMPP JID), with a JSON payload by default.
source.addEventListener("notification", function(e) {
var notification = JSON.parse(e.data);
notification.items.sort(function(x, y) {
return x.published - y.published;
});
notification.items.forEach(function(i) {
var node = document.getElementById('sse-feed');
var item = document.createElement("li");
var t = document.createTextNode([new Date(i.published * 1000), i.title, i.content].join(' '));
item.appendChild(t);
node.insertBefore(item, node.firstChild);
// We add the element to the UI.
});
});
関連する問題
- 1. iPhoneでの基本的なHTTP認証
- 2. zappierコードの基本的なhttp認証
- 3. API用laravel5.1基本的なhttp認証
- 4. CORSとHTTP基本認証
- 5. PHP/Symfonyの基本的なhttp認証の認証
- 6. ASP.NET MVC5基本的なHTTP認証とAntiForgeryToken例外
- 7. HTTP基本認証メカニズム
- 8. 基本HTTP認証ゴー
- 9. NodeJs HTTPプロキシ基本認証
- 10. 基本認証http-builder-ng
- 11. GowallaのHTTP基本認証?
- 12. ルーメンHTTP基本認証
- 13. ユーザー基本認証なしのHTTPログイン
- 14. AngularJS - $ http経由のHttp基本認証
- 15. Android Volley ImageLoader - 基本的なHTTP認証の使い方
- 16. MockWebServiceClientに基本的なHTTP認証を追加する
- 17. 基本的なHTTP認証を使用するCORS
- 18. レールでの基本的なHTTP認証を使用して、
- 19. springfoxでの基本的なHTTP認証を求めるswagger
- 20. WordPress - フロントエンドで基本的なHTTP認証を設定する
- 21. カールPHPの基本的なHTTP認証が405エラーを返す
- 22. 基本的なHTTP認証の賛否両論
- 23. 以降の要求に対する基本的なHTTP認証
- 24. symfony httpユーザ認証なしのdev環境の基本認証
- 25. Xamarinの基本的なフォームベースの認証
- 26. 基本的なカードの認証プロトコル
- 27. WebBrowserコントロールの基本的な認証タイトル
- 28. Rails HTTPの基本認証の失敗
- 29. HTTP基本認証でVaadinでログアウト
- 30. XCODE iPhoneの基本認証のHTTPヘッダー
のEventSourceが接続を初期化する必要があり、オープン、それを維持するの世話をするには、いずれか、それが閉じていない場合は、それを閉じることはありませんによってサーバーによって閉じられている場合は、無期限に再確立しようとします。いずれにしても、EventSourceは接続の最初のステップを実行する必要があります。私の目的にはEventSourceが理想的ですが、リクエストする際に認証情報を送信したいと思います。 –
仕様(http://dev.w3.org/html5/eventsource/)に基づいて、私が恐れているそれらの資格情報を送る方法はありません。 – Tower
@Tower私は同意しない。 EventSourceは、持続的で、Content-Typeが 'text/event-stream'のHTTPリクエストです。 Cookieを他のHTTPリクエスト(すでに認証済みであると仮定)として渡すことも、クエリ文字列を使って認証情報を渡すこともできます – saml