問題タブ [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 - ユーザーのセッションが期限切れかどうかを確認する方法
私は使用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 が送信された理由を示す何らかの理由コードを含む追加情報を応答本文に追加することですが、最初に知る方法を理解する必要があります。ユーザーが以前に有効期限が切れたセッションを持っていたかどうか。
これは理にかなっており、達成可能ですか?
ありがとう
node.js - 高速セッションの有効期限オブジェクトが正しいタイプではありませんか?
express
v4.12.2 およびexpress-session
v1.13.0 モジュールを使用する私の nodejs アプリケーションは、次のTypeError
例外をスローしてクラッシュすることがよくあります。
関数であるため、なぜこれがエラーになるのかわかりませんtoUTCString()
。(オブジェクトopt.expires
でない場合を除きDate
ます。)
アプリケーションのテストから、また、これopt.expires
には .
セッションをセットアップする方法は次のとおりです。
私の目標は、ユーザーがアプリケーションを使い続けた場合にセッションの有効期限を延長することです。
これを設定した方法に何か問題がありますか、または特定のバージョンのモジュールの組み合わせで修正されるバグに遭遇しましたか?
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にアクセスできるようにする方法を教えてください。ありがとうございました。
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 をロードするはずですが、何も機能していません。ページは空のままです
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
私の考えでは、何らかの方法でこれからオリジナルを取得することが可能になる可能性があります.
どうすればこれを達成できますか?
node.js - MongoStore、Passport-local - セッションがデータベースに保存されていません
Node.js Express アプリがあり、MongoStore を使用してセッションを保存し、認証のために Passport-local を使用しようとしています。アプリはセッションを保存していませんdb.sessions
app.js
localstrategy は次のように実装されます。MongoDB
MongoDB と対話する私自身のモジュールです。
認証リクエスト。MongoStore セッションを使用しようとしているときに、オプション -{session: false}
をreq.LogIn
関数に渡しました。
node.js - エクスプレスでのセッションで csurf を使用する
を使用して単一ページのアプリケーションを作成し、セッション管理MEAN stack
に使用express-session
しています。redis
クライアントの Cookie で scrf トークンを使用したいと考えています。
問題は、csurf
ミドルウェアを追加するときにcsrfSecret
、redis で名前のセッションを設定することですが、それを Cookie でクライアントに送信するにはどうすればよいですか?
ミドルウェア:
クライアントにcsrf-token
送信していますが、何もしません。モジュールから403エラーを受け取ります。
答えやアイデアをありがとう。
javascript - エクスプレス セッションは未定義のプロパティ 'id' を設定できません
これが私の設定で、これが私のコードです
私は投稿(ログイン)し、IDをセッションに保存しますが、このコードは常にプロパティを設定できないというエラーです...どうすれば修正できますか?...答えてくれてありがとう