OIDCとOAuth 2.1を基盤とするオープンソースの認証・認可インフラ。マルチテナント、エンタープライズSSO、RBACをSaaSやAIアプリ向けに提供します。
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 の数値は毎日更新されます。
関連プロジェクト
LaravelとLumen向けのJWT認証パッケージ。APIログイン用のJSON Web Tokenを発行・検証します。
Supabase Authを支える、JWTを発行するGo製の認証・ユーザー管理サーバー。
Webアプリにユーザー登録・ログイン・プロフィール管理を追加できる、Clerk公式のJavaScript SDK。
OpenID Connect、OAuth 2、PAMによるシングルサインオンに対応した、パスキーを重視する軽量なRust製Identity Provider。
SpringなどのWebスタック向けに、ログイン、権限管理、SSO、OAuth2、JWT、API署名を提供するJava認証・認可フレームワーク。