私はJWTの新機能で、JWTを利用するコードベースを継承しました。今私は直面しているいくつかの非常に基本的な問題があり、私は答えを見つけることはありません。この質問はコードベースではありませんので、私にご負担ください。JWTトークンのリフレッシュ(セッションのスライド)とサインアウト
私のJWTトークンは4時間有効です。ここに私の要件/制約があります。
ユーザーが3時間59分で作業している場合、ここにあります。彼らのセッションは2時間延長され、資格情報を再入力する必要はありません。
クライアント側のJavaスクリプトは、ユーザー資格情報をキャッシュしてはなりません。
JWTトークンを新しいもので更新することはできますが、サーバーで行うすべての要求に対しては実行しないでください。そのため、クライアントは、JWTトークンをリフレッシュするためには時間が合っていると知的でなければなりません。セッション中に1000個のアクティブトークンが生成され、それらのすべてがアクティブであるシナリオで終了するため、アプリケーションに対する各リクエストごとに新しいトークンを発行してはいけません。サインアウトの要件がさらに厳しくなります。
ユーザーがサインアウトをクリックするとJWTトークンはもはや使用できなくなります。その寿命はまだ有効ですが。
サインアウトが発生した場合。発行されたすべてのトークン(セッション拡張の一部として)は無効になるはずです。最後のものだけではありません。
私はJWTについて読んで始めていますが、私の要件はJWTで満たされないようです。これらの要件は、セッションIDアプローチで非常に簡単に満たすことができます。私はまだJWTをあきらめたくありません。