OIDC와 OAuth 2.1 기반의 오픈소스 인증·인가 인프라로, SaaS 및 AI 앱을 위한 멀티테넌시, 엔터프라이즈 SSO와 RBAC를 제공합니다.
jwtk/jjwt
JVM과 Android에서 JSON Web Token(JWT) 및 JSON Web Key(JWK)를 생성, 파싱, 검증하는 Java 라이브러리입니다.
- 스타
- 11,144
- 포크
- 1,401
- 열린 이슈
- 49
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
JJWT는 서명된 토큰(JWS), 암호화된 토큰(JWE), 키(JWK) 형식을 다루는 JOSE 사양의 순수 Java 구현체입니다. fluent builder 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 자동 완성을 고려해 설계된 fluent builder 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) 형식을 다루는 JOSE 사양의 순수 Java 구현체입니다. fluent builder API와 자동 보안 검사를 통해 토큰을 간편하게 생성하고 검증할 수 있도록 설계되었습니다.
- jjwt은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- jjwt은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- jjwt은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. 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에서 API 로그인을 위해 JSON Web Token을 발급하고 검증하는 JWT 인증 패키지입니다.
Supabase Auth의 기반이 되는 Go 기반 인증 및 사용자 관리 서버로, JWT를 발급합니다.
웹 앱에서 사용자 가입, 로그인, 프로필 관리를 지원하는 호스팅 서비스 Clerk의 공식 JavaScript SDK입니다.
OpenID Connect, OAuth 2, PAM 기반 SSO를 제공하고 패스키에 중점을 둔 경량 Rust Identity Provider입니다.
Spring 및 기타 웹 스택에서 로그인, 권한, SSO, OAuth2, JWT, API 서명을 지원하는 Java 인증·인가 프레임워크입니다.