問題タブ [express-session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - redis の Passport セッション Cookie は常に作成され続けます
私の高速アプリは認証セッションの保存に PassportJS を使用していますが、redis ストアにとんでもない数のキーが作成され、すべてのキーが同じように見えます。
彼らはTTLを持っていますが、店は正当な理由もなくサイズが大きくなっています. なぜこれらが作成されているのか分かりますか? 私のキーは次のようになります。
目で見ると、約 10 個のキーが毎秒または 2 秒ごとに作成されています。
これは私のセッションコードがどのように見えるかです:
Redis init 関数は、redis クライアントのインスタンスを返します。
node.js - エクスプレスセッションのreq.sessionが持続しない
次のコードがあります。
ページをリロードすると、ビュー カウント 0 のメッセージが表示され続けます。
コンソールを確認すると、これは毎回の出力です。
だから全然貯まらないらしい
node.js - express-session: セッション情報が設定される前にリダイレクトが実行されるのはなぜですか?
さらに別の「node.js/expressの学習を始めたばかりで、今は行き詰まっている」人がここにいます。私はどこでも答えを探してみましたが、行き止まりに達しました。これは私の最初の Stackoverflow の質問です。間違ったことや型破りなことをしたかどうか教えてください。
ユーザー オブジェクトを高速セッション (MongoDB 上) に保存し、セッション情報を処理する URL にリダイレクトする POST 要求を作成しようとしています。
問題は、ヘッダーが設定される前にユーザーがリダイレクトされ、次のように表示されることです。
Error: Can't set headers after they are sent.
これが私のコードです。私はそれがたくさんあることを知っています..申し訳ありません。
ルーター.post()
「req.session.user = userObj」の部分に注意してください。ここでは、セッションの「ユーザー」を MongoDB から取得したユーザー オブジェクトに設定しようとしています。次の行では、セッション情報に基づいてユーザーを処理する '/' の GET 要求ハンドラーにユーザーをリダイレクトしています。
何らかの理由で、これらは順番に発生していません。GET リクエスト ハンドラが req.session.user を見つけられません。
node.js はすべて非同期であることを理解していますが、オンラインで見つけた他の例から、これは機能するはずです。ここで何が欠けていますか?
javascript - 非同期関数で app.use(...) を宣言できないのはなぜですか?
Express フレームワークを使用して node.js サーバーをセットアップし、セッションを実装しようとしています。
これは機能します:
ただし、非同期関数内で server.use(session(...)) を宣言すると、無視されます。セッション処理は機能しなくなります。
ここ :
これができないのはなぜですか?
node.js - Nods.js セッションが散発的に動作する
私のノードアプリでは、4つのルートを使用してデータを取得し、データを受信すると非同期にセッションを設定しています。私はexpress.jsと expression-session npmを使用しています。ただし、セッションの設定は時々機能します。(散発的にデータを設定する) . すべてのデータが設定されていない場合があります。私を助けてください。
重要なコード スニペット
node.js - NodeJS リクエスト リセット セッション
サーバーから別のサーバーへの投稿リクエストを行っています。そのために、ライブラリhttps://github.com/request/requestを使用しています。
したがって、次のコードを使用します。
セッションはこの投稿を呼び出す前に初期化されていますが、実行するとセッションがリセットされます。したがって、この場合、セッション var から csrf コードを失います。
エラーは「パイプ」関数にあります。これを呼び出すと、他の場合ではなくセッションが失われるためですが、それを使用する必要があります。
実際のセッションを失わずにパイプ機能を使用するにはどうすればよいですか?
node.js - node.js は、複数の非同期 HTTP 呼び出しを使用したセッションの設定をサポートしていますか?
私の node.js app では、非同期呼び出しを使用してセッションを設定しています。セッション管理にはエクスプレスセッションを使用しました。ただし、セッションを設定すると時々動作します。angularアプリを使用して2つのnode.jsルートを呼び出しています。
初めて HTTP get 呼び出しを呼び出し、すべてのデータを正しく取得します。ただし、最後に遅延したルート データのみがセッションに設定されます。両方のルートからのデータではありません。遅延ルートからのデータを設定すると、高速ルート セッション データが置き換えられるようです。これが私のコードです。
すべてのデータがセッションに設定される場合があります。(ブラウザを 2 回更新した後)