ソケット要求を処理するsocket.ioサーバーを設定しています。これはポート1234上で実行されています。これは、laravel 5.1アプリケーションを実行しています。 Laravelはセッションを処理するためにredisを使用しています。ノードとLaravelセッションを共有するには?
私はlaravelをsocket.ioに接続するためのチュートリアルがたくさんありますが、それはかなり簡単です。私はソケットに接続し、応答して、メッセージをlaravelアプリケーションに転送することができます。
しかし、すべてのチュートリアルでは、この設定の認証の部分を避けています。メッセージがソケット:1234スペース内で受信されると、要求が認証されていることを確認しながら、そのメッセージをlaravelに転送するにはどうすればよいですか。
理想的には、セッションを共有し、XSRFトークンを確認するだけです。 2つのアプリケーションが異なるポートにあるため、セッションを直接取得することはできません。
現在、私は別のアプローチを使用しています、それは以下が含まれます(ノード内)ソケット接続の際
- 、私は解読クッキーは、ノードの暗号化ライブラリとノードのPHPUnserialiseライブラリを使用して接続上に送信されます。
- これは
- は私が
- 私は、今度は、私のユーザーIDへのアクセスを提供し、そのセッションを、復号化のRedisのlaravelセッションにアクセスするためにこれを使用(クッキーから)私にlaravelセッションIDを付与
実際には_tokenを使用して起点を確認していないため、潜在的にセキュリティホールになる可能性があります。
あなたは3 - サードパーティのソフトウェアに問題を解決しようとしましたか?たとえばMQ。それはあなたが必要とするすべてに合うように見えます。 – Ostin