問題タブ [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.

0 投票する
0 に答える
1157 参照

node.js - ユーザーのセッションが期限切れかどうかを確認する方法

私は使用express-sessionしており、ルート ミドルウェアがすべて呼び出しているヘルパー関数を持っています。これは実際にreq.sessionオブジェクトのプロパティをチェックし、存在しない場合は 401 を返します。

だから私は今これを持っています:

私はconnect-mongo自分のストアとして使用しており、ログイン時にOAuth プロバイダーから返された値を使用するaccessTokenプロパティを追加しています。req.session

コンソールからログアウトするreq.sessionと、ログイン後の状態が表示されます

セッションが期限切れになり、401 がさらに上の関数によって送信されている場合、

req.sessionログインしていないユーザーがアプリケーションにアクセスした場合も、上記のように評価されます。そのため、ユーザーが以前にログインしていて、セッション Cookie の有効期限が切れているかどうかを確認する方法を見つけようとしています。どうにかしてブラウザの Cookie コレクションを利用できないかと思っていたのですがexpress-session、httpOnly が使用されているため、生成された Cookie コレクションにアクセスできません。

したがって、最終的にやりたいことはres.status(401).send();、「SESSION_EXPIRED」など、401 が送信された理由を示す何らかの理由コードを含む追加情報を応答本文に追加することですが、最初に知る方法を理解する必要があります。ユーザーが以前に有効期限が切れたセッションを持っていたかどうか。

これは理にかなっており、達成可能ですか?

ありがとう

0 投票する
1 に答える
904 参照

node.js - 高速セッションの有効期限オブジェクトが正しいタイプではありませんか?

expressv4.12.2 およびexpress-sessionv1.13.0 モジュールを使用する私の nodejs アプリケーションは、次のTypeError例外をスローしてクラッシュすることがよくあります。

関数であるため、なぜこれがエラーになるのかわかりませんtoUTCString()。(オブジェクトopt.expiresでない場合を除きDateます。)

アプリケーションのテストから、また、これopt.expiresには .

セッションをセットアップする方法は次のとおりです。

私の目標は、ユーザーがアプリケーションを使い続けた場合にセッションの有効期限を延長することです。

これを設定した方法に何か問題がありますか、または特定のバージョンのモジュールの組み合わせで修正されるバグに遭遇しましたか?

0 投票する
0 に答える
350 参照

express - 更新時に React Router が 404 Not Found を報告する

たとえば、localhost と localhost/test の 2 つのページがあり、localhost には localhost/test へのリンクがあります。

localhost/test はリンクをクリックしてアクセスできますが、手動で localhost/test の URL を更新または入力すると返されます。

私のコードは次のようなものです:

どうすれば解決できますか?

Express 4 で解決しようとしましたが、「express」から Express をインポートすると報告されます

したがって、エクスプレスセッションを試しましたが、使用方法の完全な例が見つかりません。多くの例には「app」と呼ばれる var がありますが、どのように定義されていますか? または、更新時にURLにアクセスできるようにする方法を教えてください。ありがとうございました。

0 投票する
1 に答える
1992 参照

node.js - Node.js - res.redirect が機能しない

私は node.js の初心者で、現在、express.js リダイレクト ルーチンに取り組んでいます。コードはこれまでのところ機能しており、セッション変数は保存されており、リダイレクトは正常に機能しています。しかし、新しいタブを開いて (127.0.0.1/login.ejs) のような URL を入力しようとすると、ログインしている場合は hub.ejs にリダイレクトされます。しかし、この場合、リダイレクトは機能しません。ログインせずに新しいタブに (127.0.0.1/hub.ejs) などと入力すると、同じ問題が発生します。リダイレクトは login.ejs をロードするはずですが、何も機能していません。ページは空のままです

0 投票する
2 に答える
7720 参照

node.js - Node.js、ws、express-session : ws.upgradeReq からセッション オブジェクトを取得する方法

Express、express-session、および ws (websocket サポート用) で構築されたアプリケーションがあります。

このコードを使用して、セッション ミドルウェアを有効にしました。

また、get ハンドラー内でセッション変数を読み取って保存するには、次のようにします。

(最初は「未定義」と出力され、2回目は期待どおり「OK」と出力されます)

これで、同じアプリ内でも Express によって処理される Websocket サーバーがあり、およびreq.session内のオブジェクトを取得したいと考えています。ws.on("connection",...)ws.on("message",...)

問題は、元のreqオブジェクトへの参照がなくupgradeReq、websocket の接続ハンドラーのラッパーである への参照があることです。この upgradeReq を調べると、セッション cookie の値を含むconnect.sidを見つけることができます。ws.upgradeReq.headers.cookie

req.session私の考えでは、何らかの方法でこれからオリジナルを取得することが可能になる可能性があります.

どうすればこれを達成できますか?

0 投票する
0 に答える
482 参照

node.js - MongoStore、Passport-local - セッションがデータベースに保存されていません

Node.js Express アプリがあり、MongoStore を使用してセッションを保存し、認証のために Passport-local を使用しようとしています。アプリはセッションを保存していませんdb.sessions

app.js

localstrategy は次のように実装されます。MongoDBMongoDB と対話する私自身のモジュールです。

認証リクエスト。MongoStore セッションを使用しようとしているときに、オプション -{session: false}req.LogIn関数に渡しました。

0 投票する
1 に答える
3268 参照

node.js - エクスプレスでのセッションで csurf を使用する

を使用して単一ページのアプリケーションを作成し、セッション管理MEAN stackに使用express-sessionしています。redis

クライアントの Cookie で scrf トークンを使用したいと考えています。

問題は、csurfミドルウェアを追加するときにcsrfSecret、redis で名前のセッションを設定することですが、それを Cookie でクライアントに送信するにはどうすればよいですか?

ミドルウェア:

クライアントにcsrf-token送信していますが、何もしません。モジュールから403エラーを受け取ります。

答えやアイデアをありがとう。

0 投票する
1 に答える
6826 参照

javascript - エクスプレス セッションは未定義のプロパティ 'id' を設定できません

これが私の設定で、これが私のコードです

私は投稿(ログイン)し、IDをセッションに保存しますが、このコードは常にプロパティを設定できないというエラーです...どうすれば修正できますか?...答えてくれてありがとう