2016-11-01 7 views
0

ここでは、私のプロジェクトの要件を説明します。ノードjsドメイン間セッション

基本的には、私は別のウェブサイトに埋め込むことができるチャットアプリケーションを構築したいと思います。たとえば、wordpress、magento、drupal、カスタムフレームワークなどを使用してサイトを構築します。私が実際に必要とするのは、(socket.io)を使ってソケットチャットを処理するためのJavaScriptを埋め込むことです。これは、JavaScriptコード(クライアントサイド)のセットです。 、nodejsで実行中のサーバー(socket.io)

私が直面した問題は、ログイン後に登録ユーザーのセッションを管理することです。私のコードは別のWebサイトに埋め込まれており、ノードサーバーは他のサーバーに置かれているため、各ページの更新時にユーザーセッションのセッションを検証することが困難でした。このアプリケーションのための最良の方法でセッションを管理する方法を教えてください。

あなたは私の必要性を理解する難しさを感じた場合、私はあなたの問題を理解していれば、あなただけのユーザーセッションを処理する必要があなたに

答えて

0

に感謝の例

して詳細に説明することができますか?より具体的にクライアント側で?

あなたが与えた情報に基づいて、サーバー上のセッションを表す一意の文字列をクライアントに返すと仮定します。これの形式は、クッキー、通常の文字列/トークンなどのいずれでもかまいません。

クッキーについては、ブラウザがこれを処理するので、大きな問題はありません。サーバー上で正しく設定する必要があるかもしれませんが。

認証が必要なリクエストごとにサーバーに返す必要があるトークン/ストリングについては、必要に応じてブラウザのセッション記憶域/ローカル記憶域に格納する必要があります。次に、すべての要求にサーバーに戻して認証する必要があります。

+0

ご返信ありがとうございます。もう1つの質問。私はsocket.emitを使ってすべてのリクエストを送信しています。 nodejsサーバーでセッションを設定することは可能ですか?より具体的には、私はどのように "文字列/トークン"とそれぞれの側に一致することができますか? (クライアント側とサーバー(nodejs)側)クライアント側私はクッキーを使用できますが、サーバー側ではその値をどのように保存できますか?より良い選択肢(データベースやセッション(現在はセッションは不可能ですが、ソケットエミットはドメイン間でデータを送信するために使用されます)) – Ajith

+0

セッション - これはまさにそのためのものです。セッションをあなたのメモリに保存します。これは、サーバーの再起動が、誰もが再度ログインする必要があることを意味します。 Redisのようなサードパーティアプリケーションを使用してストアを追跡することもできます。特に、サーバーの規模を拡大してサーバーインスタンス間でセッションを共有する必要がある場合は特にそうです。 編集:https://auth0.com/blog/auth-with-socket-io/ –

+0

あなたの貴重な情報をありがとう、トークンを使用して認証を実装しようとしましょう – Ajith

関連する問題