goでjwtトークンから有効期限を取得するにはどうすればよいですか?

PHPz
リリース: 2024-02-14 12:20:09
転載
963 人が閲覧しました

如何从 go 中的 jwt 令牌获取过期日期?

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート