2.4. MicroProfile JWT
2.4.1. JBoss EAP 中的 MicroProfile JWT 集成 复制链接链接已复制到粘贴板!
子系统 microprofile-jwt-smallrye
在 JBoss EAP 中提供 MicroProfile JWT 集成。
microprofile-jwt-smallrye
子系统提供以下功能:
- 检测使用 MicroProfile JWT 安全性的部署。
- 激活对 MicroProfile JWT 的支持。
子系统不包含可配置的属性或资源。
除了 microprofile-jwt-smallrye
子系统外,org.eclipse.microprofile.jwt.auth.api
模块在 JBoss EAP 中提供 MicroProfile JWT 集成。
其它资源
2.4.2. 传统部署和 MicroProfile JWT 部署之间的区别 复制链接链接已复制到粘贴板!
MicroProfile JWT 部署不依赖于受管理的 SecurityDomain 资源,如传统 JBoss EAP 部署。相反,会在 MicroProfile JWT 部署中创建并使用虚拟 SecurityDomain。
由于 MicroProfile JWT 部署完全在 MicroProfile 配置属性和 microprofile-jwt-smallrye
子系统内配置,因此虚拟 SecurityDomain 不需要任何其他受管配置。
2.4.3. JBoss EAP 中的 MicroProfile JWT 激活 复制链接链接已复制到粘贴板!
MicroProfile JWT 根据应用中存在 auth-method
的应用激活。
MicroProfile JWT 集成以以下方式为应用激活:
-
作为部署过程的一部分,JBoss EAP 扫描应用存档,以了解
auth-method
。 -
如果存在
auth-method
,并定义为MP-JWT
,则会激活 MicroProfile JWT 集成。
auth-method
可以在以下任一文件或两个文件中指定:
-
包含扩展
javax.ws.rs.core.Application
的类的文件,并标上@LoginConfig
-
web.xml
配置文件
如果在类中同时定义了 auth-method
,则使用注解,并在 web.xml 配置文件中定义,则会使用 web.xml
配置文件中的定义。
2.4.4. JBoss EAP 中 MicroProfile JWT 的限制 复制链接链接已复制到粘贴板!
JBoss EAP 中的 MicroProfile JWT 实施存在某些限制。
JBoss EAP 中存在 MicroProfile JWT 实施的限制:
-
MicroProfile JWT 实施仅解析
mp.jwt.verify.publickey
属性中提供的 JSON Web Key Set (JWKS)中的第一个密钥。因此,如果令牌声明在第二个密钥后由第二个密钥或任何密钥签名,令牌将无法验证,且包含令牌的请求不会被授权。 - 不支持 JWKS 的 Base64 编码。
在这两种情况下,可以引用明文 JWKS,而不使用 mp.jwt.verify.publickey.location
配置属性。