第 2 章 构建、签名和加密 JSON Web 令牌
JSON Web 令牌(JWT)由 RFC 7519 规范定义为代表声明的紧凑 URL 安全方法。这些声明被编码为 JSON 对象,可用作 JSON Web 签名(JWS)结构的有效负载或 JSON Web 加密(JWE)结构的纯文本。这种机制使声明可以进行数字签名或保护,以获得消息身份验证代码(MAC)并加密的完整性。
签名声明是保护声明的最常见方法。通常,通过签名声明以 JSON 格式生成 JWT 令牌,遵循 JSON Web 签名(JWS) 规范中所述的步骤。
当声明包含敏感信息时,可以使用 JSON Web 加密(JWE) 规范来确保其机密。此方法生成带有加密声明的 JWT。
为提高安全性,您可以组合这两种方法:首先对声明进行签名,然后加密生成的嵌套 JWT。此过程可确保声明的机密性和完整性。
SmallRye JWT Build API 通过支持所有这些选项来简化 JWT 声明的安全。它在内部使用 Jose4J 库来提供此功能。
2.1. 依赖项
要使用 SmallRye JWT Build API,请将以下依赖项添加到项目中:
使用 Maven:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-jwt-build</artifactId> </dependency>
使用 Gradle:
implementation("io.quarkus:quarkus-smallrye-jwt-build")
您可以独立使用 SmallRye JWT Build API,而不创建 quarkus-smallrye-jwt
扩展支持的 MicroProfile JWT 端点。