1. ホーム
  2. jwt

[解決済み] JWTのexp(Expiration Time)クレームはどのような形式ですか?

2023-01-19 18:57:35

質問

ADALライブラリを使って、あるリソースのアクセストークンを取得しています。有効期限はどのような形式かご存知の方はいらっしゃいますか? より具体的には "exp" (Expiration time) claim .

JwtSecurityToken クラスはパース後に単に int32 を返します。ですから、それは良い指標ではありません。

にパースしてみました。 TimeSpan となり DateTime となっていますが、値は90分間隔ではありません。ほとんど同じです。

について、fiddlerから得たものです。 iatexp クレーム(使用される https://jwt.io/ を使ってトークンをパースします)

iat : 1475874457

exp : 1475878357

値はそれほど離れていません。

どのように解決するのですか?

RFC 7519 では exp iat クレーム値は NumericDate の値でなければなりません。

NumericDate の最後の定義です。 セクション2. 用語の定義 の数として定義されています。 ( ミリ秒ではなく )エポック以来。

1970-01-01T00.00Z UTCから指定されたUTC日時までの秒数を表すJSONの数値。 1970-01-01T00:00:00Z UTC から指定された UTC 日付/時刻までの秒数を表す JSON 値です。 うるう秒は無視されます。 これは、IEEE Std 1003.1と同等です。 2013年版[POSIX.1]の定義である "Seconds Since the Epoch" "と同等であり、この定義では、各日がちょうど1日分カウントされます。 と同じで、各日がちょうど86400秒になります。 それ以外の非整数の値を表現することができます。 詳細はRFC3339を参照してください。 一般的な日付/時刻とUTCに関する詳細については、RFC3339[RFC3339]を参照してください。 を参照してください。