前提
タイトルの通りとなりますが、Node.jsにて同じセッションIDにおける二重ログインのみ防ぎたい、と考えています。
「同じセッションID」とは、「同じブラウザで、別のタブ/ウィンドウで同一アカウントにてログイン」している場合を想定しています。
よって、同じブラウザでも「シークレットウィンドウ」を使ったり、FireFoxとChromeといった別のブラウザを使った場合は、含まれません(セッションIDが異なるため)。
実現したいこと
同じブラウザであるアカウントでログインし、別のタブ/ウィンドウで同じアカウントでログインしようとした際、「すでにログイン中です」ということで、ログインを拒否したく存じます。
そのログイン拒否を行う際の判定基準となるものを、ご存じの方はご教示いただけませんでしょうか。
イメージとして、同じブラウザでも各タブごとに固有の値があれば、それを利用できるかもしれません。
もしくは、固有の値を持たせるような仕組みです。
発生している問題・エラーメッセージ
現状で、エラーメッセージは特にありません。
試したこと
「express-session」の「req.headers」などの値を参照してみましたが、「cookies」に含まれる値は同一ブラウザで別のタブ/ウィンドウであっても、全く同じでした。
タブ/ウィンドウとしての固有値は、「req(HTTPリクエスト)」オブジェクトには含まれていないのでしょうか。
補足情報(FW/ツールのバージョンなど)
Node.js v14.15.5
express 4.17.1
express-session 1.17.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/28 06:20
2022/09/28 06:48
2022/09/28 07:47