web-dev-qa-db-ja.com

nodejsでjwtトークンの有効期限を最大に設定するにはどうすればよいですか?

トークンの有効期限が切れたくないので、永久に有効である必要があります。

var token = jwt.sign({email_id:'[email protected]'}, "Stack", {

                        expiresIn: '24h' // expires in 24 hours

                         });

上記のコードでは、24時間与えています。トークンが期限切れになるのは望ましくありません。これのために何をしますか?

13
Jagadeesh

JWTのexpクレームはオプションです。トークンにトークンがない場合、期限切れではないと見なされます

https://www.npmjs.com/package/jsonwebtoken のドキュメントによると、expiresInフィールドにもデフォルト値がないため、単に省略します。

expiresIn、notBefore、対象者、件名、発行者のデフォルト値はありません。これらのクレームは、exp、nbf、aud、sub、およびissを使用してペイロードで直接提供することもできますが、両方の場所に含めることはできません。

var token = jwt.sign({email_id:'[email protected]'}, "Stack", {});
17
pedrofb

有効期限を日単位で設定するには:これを試してください

 var token = jwt.sign({email_id:'[email protected]'}, "Stack", {

           expiresIn: '365d' // expires in 365 days

      });

"expiresIn"は、タイムスパンを繰り返す秒数または文字列である必要があります。例: "1d"、 "20h"、

ドキュメント: jsonwebtoken

15
Ved