セッションストアとしてredisを使用していますが、
このようにセッションを保存する
[NameSpace]:[UniqueId] -> [email_id]
ここに問題があります。
ユーザーがパスワードをリセットしたときに、そのユーザーのすべてのセッションを無効にするにはどうすればよいですか?
ここに私が思いついた解決策があります、
EメールIDをUIDの一部として保存
セッションを保存する
[NameSpace]:[UniqueId]-[email_id] -> [email_id]
次にSCAN MATCH
、ユーザーがパスワードをリセットしたときにすべてのキーを削除するために使用できます。
UID のリストを維持する
のようなセッションを保存した後
[NameSpace]:[UniqueId] -> [email_id]
別のリストを維持する
[NameSpace2]:[email_id] -> [ "[UniqueId]", "[UniqueId]" ]
リストを使用してセッションを無効にします。(redis
名前空間 pubsub を使用して、上記のリストの有効性を維持できます)
私の質問は
- redis で一括セッション無効化を行うための推奨される方法は何ですか?
[UniqueId]-[email_id]
Cookie のようにセッション ID を保存する際にセキュリティ上の問題はありますか?
PS: 同様の質問があることは承知していますが、redis とユーザー セッションの一般的なものではなく、ノイズが多く、express.js を対象としていると感じました。( express.js で 1 人のユーザーのセッションをすべて無効にする)