第 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 端点。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.