文章更新时间:2023-09-22 15:30
组件简介
维护者 | auth0 组织 | 许可证类型 | MIT |
首次发布 | 2014 年 3 月 7 日 | 最新发布时间 | 2023 年 3 月 31 日 |
GitHub Star | 5415 | GitHub Fork | 925 |
依赖包 | 711 | 依赖存储库 | 16,004 |
JWT(JSON Web Token)是一种标准,它定义了在双方之间传输数据以及签名的紧凑和安全方式。JWT 中的有效负载是断言某些声明的 JSON 对象。验证者可以轻松验证和信任此有效负载,因为它已进行数字签名。JWT 可以使用密钥或公钥/私钥对进行签名。
官方仓库:https://github.com/auth0/java-jwt
参考链接:
https://mvnrepository.com/artifact/com.auth0/java-jwt
https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.auth0:java-jwt
组件健康度
技术健康度 | 这个组件是一个用于生成和验证 JSON Web Token (JWT) 的 Java 库,它支持多种签名算法,如 HMAC, RSA, 和 ECDSA。它还提供了一些有用的预定义的声明,如发行者、过期时间、主题等。它的代码质量和测试覆盖率都很高,没有发现严重的漏洞或缺陷。它的技术健康度是很好的。 |
社区健康度 | 这个组件是由 Auth0 公司开发和维护的,Auth0 是一个提供身份验证和授权服务的平台。它在 GitHub 上有超过 1000 个星标,200 多个分支,和 500 多个提交。它也有一个活跃的社区,有很多贡献者和用户,在 GitHub 上有 200 多个问题和 200 多个拉取请求。它的社区健康度是很高的。 |
更新和维护频率 | 这个组件的最新版本是 4.4.0,发布于 2023 年 3 月 31 日。它的更新频率是比较稳定的,每隔几个月就会发布一个新版本。它也有一个清晰的变更日志和迁移指南,方便用户跟进最新的变化。它的更新和维护频率是适中的。 |
兼容性 | 这个组件支持 Java LTS 版本 8, 11, 和 17。对于非 LTS 版本,它会根据情况考虑是否支持。它不适用于 Android 应用,Android 应用应该使用 JWTDecode.Android。它支持以下算法来签名和验证 JWT:HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, 和 ES512。 |
文档和支持 | 这个组件有一个完善的文档网站,包括入门指南、API 参考、示例代码等。它也有一个详细的 Javadoc 文档,可以查看每个类和方法的说明。如果用户遇到问题或需要帮助,可以在 GitHub 上提交问题或请求,或者在 Auth0 的社区论坛上寻求支持。它的文档和支持是非常好的。 |
cocom.auth0:java-jwt 这个组件是一个功能强大、质量高、社区活跃、文档完善、支持良好的 Java JWT 库。它在技术健康度、社区健康度、兼容性、文档和支持方面都表现出色,在更新和维护频率方面也没有明显的缺陷。因此,这个组件的健康度是非常高的。
参考链接:
https://github.com/auth0/java-jwt
https://www.baeldung.com/java-auth0-jwt
https://www.javadoc.io/doc/com.auth0/java-jwt/3.1.0/com/auth0/jwt/JWT.html
https://javadoc.io/doc/com.auth0/java-jwt/3.1.0/package-list
组件许可证解读
MIT 许可证是一种非常宽松的自由软件许可证,它起源于麻省理工学院。它可以分为三个部分,分别是:
- 授予条款:这个部分允许用户对软件进行任何操作,例如使用、复制、修改、合并、发布、分发、再许可和/或出售软件,不需要支付费用或获取许可。
- 条件条款:这个部分要求用户在软件的所有副本或实质部分中,包含版权声明和许可声明,以保护作者或版权所有者的知识产权,以及让用户知道软件的许可证。
- 免责条款:这个部分声明作者或版权所有者对软件不承担任何责任,包括保证、担保、索赔、损害或其他责任,无论是因为软件本身或软件的使用而导致的。
MIT许可证是一种非常宽松的开源许可证,鼓励软件的自由使用、修改和分发,同时降低了法律责任。
许可证原文链接:https://github.com/auth0/java-jwt/blob/master/LICENSE
组件漏洞版本及修复方案
暂无
同类型可替代组件
- Tink:这是一个由 Google 开发的安全库,它提供了一些简单而安全的 API 来处理加密、签名、身份验证等任务。它支持多种语言,包括 Java、C++、Python、Go、Swift 等。它也支持 JWT,但是它的主要目标是提供更高层次的抽象和更安全的默认设置。官网:https://developers.google.com/tink?hl=zh-cn
- Nimbus JOSE+JWT:这是一个用于生成和验证 JWT 的 Java 库,它支持多种签名和加密算法,以及 JWK (JSON Web Key) 和 JWA (JSON Web Algorithm) 标准。它的特点是功能丰富、性能高效、易于使用。官网:https://connect2id.com/products/nimbus-jose-jwt
- jjwt:这是一个用于生成和验证 JWT 的 Java 库,它支持多种签名算法,如 HMAC, RSA, 和 ECDSA。它的特点是简洁、轻量、无依赖。官网:https://github.com/jwtk/jjwt
- PASETO:这是一个用于生成和验证 Platform-Agnostic Security Tokens (PASETO) 的 Java 库。PASETO 是一个类似于 JWT 的标准,但是它有一些优势,如更强的加密、更清晰的版本控制、更少的漏洞风险等。它也支持多种语言,包括 Java、PHP、Python、Ruby 等。官网:https://paseto.io/
组件SBOM
组件名称 | 版本 | 是否直接依赖 | 仓库 |
com.fasterxml.jackson.core:jackson-databind | 2.14.2 | 是 | maven |
com.fasterxml.jackson.core:jackson-annotations | 2.14.2 | 是 | maven |
com.fasterxml.jackson.core:jackson-core | 2.14.2 | 是 | maven |
com.fasterxml.jackson:jackson-bom | 2.14.2 | 是 | maven |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:
https://www.murphysec.com/console/report/1705103953271504896/1705103957922988032?allow=1