2011-11-02 15 views
4

node.mydomain.comにnode/Socket.IOセットアップがあり、www.mydomain.comにApache/PHPスタックがあります。ドメイン間のPHPセッションIDに対するSocket.IOの認証方法

  1. クライアント

    は現在、私はこのようなものを使用して認証をやっている接続上で、サーバー

  2. サーバーへ PHPSESSID含むカスタムauthorizationイベント送信:authorization上を、 api.phpに電話をかけてこのCookieを使用してユーザー情報を取得し、クライアントにこの身元情報を送信します。
  3. Clie NTは:今、Socket.IOは、私が使用したい認証(On this wiki)のための場所を持っているので、これはビット場しのぎで、このID

を使用して、アクションを実行することができます。問題は、クライアントからサーバーにPHPSESSID Cookie情報を送信する方法がわからないことです。彼らは別のドメインにいるので、ブラウザは要求にそれらを含めません。

アイデア?

答えて

1

私は、セッション処理の切り替えを推奨し、代わりにRedisを使用します。これは、デフォルトのファイルベースのセッション処理よりも高速です。

最初にRedis serverをインストールしてください。その後、まずthe phpredis extensionをPHPに追加してから、php.iniを使用するように設定します。

extension=redis.so 
session.save_handler = redis 
session.save_path = "tcp://localhost:6379/" 

のNode.jsからは、その後、node_redisモジュールを使用して、これらのセッションを読むことができます。

+0

これはまさに私がやっていることです。しかし、常にhttpsを介してセッションIDをノードインスタンスに送信する必要があることに注意してください。 – JCM

関連する問題