私はAPIシステムへのユーザーアクセスを管理するためにJWTを利用しています。私が直面している問題は、数分後にトークンが期限切れになることです。 JWTトークンの期限切れを、ユーザーが手動でログアウトすると期限切れになるようにする方法を教えてください。JWT/Laravelトークンの有効期限を延長する
ありがとうございました。 laravel 5.3で
私はAPIシステムへのユーザーアクセスを管理するためにJWTを利用しています。私が直面している問題は、数分後にトークンが期限切れになることです。 JWTトークンの期限切れを、ユーザーが手動でログアウトすると期限切れになるようにする方法を教えてください。JWT/Laravelトークンの有効期限を延長する
ありがとうございました。 laravel 5.3で
、私は単に設定/ jwt.phpすなわち.. // ttl => 60
で行をコメントし、現在は存在しないの存続時間とトークンの有効期限は寿命です。 ログアウトで、このコードの下トークンの使用を無効にするための()すなわち、JWTAuth::invalidate(JWTAuth::getToken());
は「試行」メソッドの2番目のパラメータとして、アレイ内の「EXP」を追加します。この 'exp'はタイムスタンプです。たとえば
:
$token=JWTAuth::attempt(
['email'=>$email,'password'=>$password],
['exp' => Carbon::now()->addweek()->timestamp]
);
あなたはトークンサーバ側のための代わりのトークン内部の有効期限を格納する必要があります。これは、トークンにexpキーを設定しないことを意味します。たとえば、有効期限のあるjtiをデータベースに格納することができます。認証のためにトークンが受信されると、トークンを検証し、データベースに格納されているjtiに基づいて、予想される有効期間と現在の時刻を使用して、トークンの最後に確認された日付を確認できます。トークンがまだ有効な場合は、jtiの最後に見た日付を現在の時刻にリセットします。