Go 言語では、JWT トークンが一般的な認証メカニズムです。 JWT トークンから有効期限を取得するには、サードパーティ ライブラリ「github.com/dgrijalva/jwt-go」を使用してトークンのペイロードを解析します。まず、トークン文字列を解析して jwt.Token オブジェクトにする必要があります。その後、Token.Claims["exp"] フィールドにアクセスして有効期限を取得できます。このフィールドの値は Unix タイムスタンプであり、time.Unix 関数を使用して時間型に変換できます。このようにして、JWT トークンの有効期限を簡単に取得できます。
私は jwt トークンを持っており、 https://jwt.io/
Web サイトでデコードされたトークンを確認できます。シークレットやクレームを設定する必要はありません。そこで、シークレットを提供せずにトークンをデコードして有効期限を取得する方法を探しています。
私はライブラリ ngopkg.in/square/go-jose.v2/jwt
を使用しています。以下は私のコードです:
戻り値 token
keyid、アルゴリズムを含むヘッダーフィールドがありますが、有効期限はわかりません。
このトピックを検索したところ、github.com/auth0/go-jwt-middleware/v2/validator
ライブラリを使用すると言っていますが、キー/シークレットの設定が必要です。トークンの有効期限にシークレットが必要かどうかを解析します。 ウェブサイト https://jwt.io/
有効期限を知る方法は?
jwt.io のサンプル jwt トークンを使用して、このコードは 未検証の署名を持つクレームを解析して取得します。 リーリー
この例では、有効期限はclaims マッピングのフィールドの 1 つとして表示されます。これを取得するには、
exp, ok :=claims["expire"] (正確な名前に応じて) を使用します。
以上がgoでjwtトークンから有効期限を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。