quarkus 和 jwt 令牌、application.properties var 不起作用

Posted

技术标签:

【中文标题】quarkus 和 jwt 令牌、application.properties var 不起作用【英文标题】:quarkus and jwt token, application.properties var don't work 【发布时间】:2021-12-24 08:56:37 【问题描述】:

我有一个 quarkus 项目,我尝试使用 Jwt 令牌保护我的一些端点。

到目前为止,它不起作用。一切仍然可以访问。

我的应用程序属性:

quarkus.http.auth.permission.public.paths=/api/bo/authenticate
quarkus.http.auth.permission.public.policy=permit

quarkus.http.auth.policy.admin-role.roles-allowed=ADMINISTRATEUR_SYSTEME
quarkus.http.auth.permission.admin.paths=/api/bo/private/**
quarkus.http.auth.permission.admin.policy=admin-role
quarkus.http.auth.permission.admin.enabled=true

mp.jwt.verify.publickey.location=jwt/publicKey.pem
mp.jwt.verify.issuer=https://xxxxx.fr
quarkus.smallrye-jwt.enabled=true
smallrye.jwt.sign.key.location=jwt/privateKey.pem

值得注意的是这些线条

mp.jwt.verify.publickey.location=jwt/publicKey.pem
mp.jwt.verify.issuer=https://xxxxx.fr
quarkus.smallrye-jwt.enabled=true
smallrye.jwt.sign.key.location=jwt/privateKey.pem

在我的 IDE (Intellij) 中是灰色的,我的 IDE 说它们既不被我的项目使用,也不被它的依赖项。

说到依赖,我的 pom 中有这个:

<dependencies>
...
<dependency>
  <groupId>io.quarkus</groupId>
  <artifactId>quarkus-smallrye-jwt-build</artifactId>
</dependency>
<dependency>
  <groupId>io.quarkus</groupId>
  <artifactId>quarkus-smallrye-health</artifactId>
</dependency>
   <dependency>
  <groupId>io.quarkus</groupId>
  <artifactId>quarkus-smallrye-jwt</artifactId>
</dependency>
  <dependency>
  <groupId>io.quarkus</groupId>
  <artifactId>quarkus-smallrye-openapi</artifactId>
</dependency>

有什么想法吗?

【问题讨论】:

澄清一下:/api/bo 是否有实际资源,或者您的意思是保护所有子资源/api/bo/* @Turing85 我已经更新了我的回复:/api/bo/private/** 您可以尝试在路径末尾添加一个* 吗?我不太确定 ** 是否“正确理解” 确实,双重* 可能无法理解,如果不是在配置级别限制访问,而是可以使用@RolesAllowed 对其进行正确保护,那么它将确认** 不会工作 我确认问题是 /** 没有工作。 /* 工作 【参考方案1】:

问题是,双“**” 一个简单的 * 就可以了

quarkus.http.auth.permission.admin.paths=/api/bo/private/*

【讨论】:

以上是关于quarkus 和 jwt 令牌、application.properties var 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 smalrye jwt 生成令牌

具有过期 JWT 和 Eclipse 微配置文件的 REST 客户端

Java 云原生微服务框架 Quarkus 入门实践

刷新令牌和 JWT 令牌交互

JWT 访问令牌和刷新令牌安全性

JWT 令牌和刷新令牌的合理到期日期是啥?