Repolode
jwtk

jwtk/jjwt

JVMやAndroidでJSON Web Token(JWT)とJSON Web Key(JWK)を作成、解析、検証するJavaライブラリ。

スター
11,145
フォーク
1,400
未解決の Issue
49
最終コミット
先月

これは何?

JJWTは、署名付き(JWS)、暗号化(JWE)、鍵(JWK)形式のJSON Web Tokenを扱う、JOSE仕様の純粋なJava実装です。流暢なビルダーAPIと自動的なセキュリティチェックにより、トークンを簡単に作成・検証できます。

標準的なJWS署名アルゴリズム(HMAC、ECDSA、RSA、EdDSA)のほか、JWEの暗号化アルゴリズムと鍵管理アルゴリズムをサポートしています。解析時には、有効期限や有効開始日時などのクレームを検証でき、ペイロードの圧縮にも対応しています。クレームオブジェクトはJacksonまたはGsonを使ってマーシャリングできます。

JJWTはJava 8以降とAndroidで動作します。コンパイル時の依存関係はAPIモジュールのみで、実装モジュールとJSONプロセッサは実行時の依存関係として指定します。MavenおよびGradleの設定方法と、Android ProGuardルールもドキュメントに記載されています。

主な機能

  • 01HS、ES、RS、PS、EdDSAアルゴリズムを使った署名付きJWT(JWS)の作成、解析、検証。
  • 02標準的なAEADおよび鍵管理アルゴリズムによるJWEの暗号化と復号。
  • 03一般的なJava鍵型に対応したJSON Web Keyの作成、解析、検証。
  • 04IDEの自動補完を活用しやすい流暢なビルダーAPI。
  • 05JacksonまたはGsonによるクレームの検証とPOJOのマーシャリング。

ユースケース

  • JavaやSpringのバックエンドサービスで、アクセストークンを発行・検証する。
  • Androidアプリにトークンベースの認証を追加する。
  • JWEでトークン内の機密性の高いクレームを暗号化する。
  • ID連携でJSON Web Keyセットを公開または利用する。

使う前に知っておきたいこと

  • コンパクト形式以外のJWSのシリアライズと解析には対応していません。
  • PS256/PS384/PS512には、Java 11以降、またはBouncyCastleなどの互換性のあるJCAプロバイダーが必要です。
  • EdDSAおよびXDHキーには、Java 15以降、またはBouncyCastleなどの互換性のあるJCAプロバイダーが必要です。

収録されている特集

トピック

よくある質問

jjwt とは?
JVMやAndroidでJSON Web Token(JWT)とJSON Web Key(JWK)を作成、解析、検証するJavaライブラリ。 JJWTは、署名付き(JWS)、暗号化(JWE)、鍵(JWK)形式のJSON Web Tokenを扱う、JOSE仕様の純粋なJava実装です。流暢なビルダーAPIと自動的なセキュリティチェックにより、トークンを簡単に作成・検証できます。
jjwt は無料で使えますか?ライセンスは?
jjwt は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
jjwt は今もメンテナンスされていますか?
半年以内に更新あり。jjwt の最終コミットは 2026年10月4日 です。
jjwt は何に使えますか?
JavaやSpringのバックエンドサービスで、アクセストークンを発行・検証する。 Androidアプリにトークンベースの認証を追加する。 JWEでトークン内の機密性の高いクレームを暗号化する。 ID連携でJSON Web Keyセットを公開または利用する。
jjwt はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/jwtk/jjwt

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト