JJWT - Java 与 Android 的 JWT 库


Apache-2.0
跨平台
Java

软件简介

Java JWT:适用于 Java 和 Android 的 JSON Web Token(JWT)库

JJWT 旨在成为最容易使用和理解的库,用于在 JVM 和 Android 上创建和验证 JSON Web Token(JWT)。JJWT 是纯 Java
实现,完全基于 JWT、JWS、JWE、JWK 和 JWA RFC 规范以及 Apache 2.0 许可条款下的开源。该库由 Okta 的高级架构师 Les
Hazlewood 创建,由一个贡献者社区支持和维护。该库还添加了一些不属于规范的便利扩展,例如 JWT compression 和 claim
enforcement。

特性:

  • 在所有 JDK 和 Android 上完全正常运行

  • 自动安全最佳实践和断言

  • 易于学习和阅读的 API

  • 方便易读的流畅界面,非常适合 IDE 自动补全以快速编写代码

  • 完全符合所有已实现功能的 RFC 规范,针对 RFC 指定的测试向量进行测试

  • 通过强制执行 100% 测试代码覆盖率实现稳定的实施。

  • 使用所有标准 JWS 算法创建、解析和验证经过数字签名的紧凑型 JWT(也称为JWS):

    • HS256: HMAC using SHA-256

    • HS384: HMAC using SHA-384

    • HS512: HMAC using SHA-512

    • ES256: ECDSA using P-256 and SHA-256

    • ES384: ECDSA using P-384 and SHA-384

    • ES512: ECDSA using P-521 and SHA-512

    • RS256: RSASSA-PKCS-v1_5 using SHA-256

    • RS384: RSASSA-PKCS-v1_5 using SHA-384

    • RS512: RSASSA-PKCS-v1_5 using SHA-512

    • PS256: RSASSA-PSS using SHA-256 and MGF1 with SHA-2561

    • PS384: RSASSA-PSS using SHA-384 and MGF1 with SHA-3841

    • PS512: RSASSA-PSS using SHA-512 and MGF1 with SHA-5121

  • 超出规范的便利性增强功能

    • 任何大型 JWT 的 body 压缩,而不仅仅是JWE

    • 声明断言(需要特定值)

    • 在使用兼容的 JSON 解析器(例如 Jackson)时声明 POJO 编组和解组

    • 基于所需 JWA 算法的安全密钥生成

    • 更多……