Repolode
jwtk

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 통계는 매일 갱신됩니다.

관련 프로젝트