10

Express with Node の vhost 機能を使用して、アプリの複数のサブドメインを管理しています。アプリは同じセッション シークレットとキーを使用しており、正しいセッション Cookie 設定を使用していると思います。

cookie: {
          path     : '/',
          domain   : '.example.com',
          httpOnly : false,
          maxAge   : 1000*60*60*24*30*12    //one year(ish)
        }

サブドメインが定義されていない通常のサイトにセッション変数を設定しました。たとえば、http ://example.comのように:

req.session.rep_id = rep._id;
res.redirect('https://' + company.name + '.example.com/');

しかし、それらを subdomain.example.com にリダイレクトすると、セッションには rep_id キーが何も設定されていません。サブドメイン間でセッションがリセットされているようです。どうすればこれを回避できますか?

4

2 に答える 2

4

いくつかの考え:

からピリオドを削除してみてください.example.com。ここでの私の考えは、まだルート ドメインにいる間に、サブドメインのみの Cookie を設定しようとしているということです。オンに設定された Cookieexample.comはすべてのサブドメインでも利用できることを読みました。

ユーザーをすぐにサブドメインにリダイレクトしないようにしてください。まず、Cookie がルート ドメインで機能していることを確認してください。サーバーからの応答ヘッダーを検査し、ブラウザーが次の要求で Cookie を保持しているかどうかを確認します。これが正しく機能していることを確認した場合にのみ、サブドメインに移動してください。

于 2012-08-07T18:16:21.827 に答える