问题标签 [jjwt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
351 浏览

jjwt - JWT 标头缺少“类型”字段

我正在使用以下代码创建 JWT:

但是当我查看创建的 JWT 的 JSON 版本时,标头是

它缺少“典型”字段。我认为这个字段是强制性的。

0 投票
3 回答
147 浏览

osgi - 使用 JJWT 版本 0.11.1 在 Karaf (OSGi) 中运行无法加载类 io.jasonwebtoken.impl.crypto.MacProvider

在 Karaf (OSGi) 中运行无法加载类 io.jasonwebtoken.impl.crypto.MacProvider

jjwt的版本是0.11.1

我的捆绑包包括 jjwt-api(提供)和 jjwt-jackson(编译),我将 jjwt-impl 作为捆绑包运行。

我需要创建一个“大型捆绑包”来完成这项工作吗?

0 投票
1 回答
63 浏览

kotlin-coroutines - 如何以非阻塞方式获取公钥

根据文档,签名密钥解析器可以动态获取密钥:https ://github.com/jwtk/jjwt#signing-key-resolver

以下代码确实调用了一个 kotlin 挂起函数,该函数以非阻塞方式检索公钥:

这是挂起函数的定义

问题是这段代码需要阻塞线程(runBlocking)。否则无法正常工作。

这个挑战也存在于所有其他异步框架(rxjava、listenablefuture、completablefuture,...)

0 投票
1 回答
3258 浏览

java - JJWT 依赖混淆

我继承了一个在 POM.xml 中有这个的 java 项目:

这个“jjwt”dep 是什么,为什么它可能使用不同的版本?

我在https://github.com/jwtk/jjwt上没有看到任何提及

但它在这里:https ://mvnrepository.com/artifact/io.jsonwebtoken

0 投票
0 回答
1194 浏览

java - Groovy - 使用 JJWT 生成 JWT 令牌

我正在编写一个生成 JWT 令牌的函数。我正在使用 JJWT 库,并且我已经导入了所有必要的文件和库。

格式:RS256

当我尝试运行它给出的脚本时

我有一个私钥和 Aud、Iss、Sub、exp。我想用这个以 RS256 格式生成 JWT 令牌。

任何的意见都将会有帮助。

0 投票
2 回答
332 浏览

java - 使用 JJWT 从 Xero 解析 RS256 JWT

我正在尝试从 Xero 解析 JWT 以进行 SSO。Xero 文档指出“JWT 是使用您的客户端密码和 RS256 签名算法签名的 JSON 有效负载”。我可以从 Xero 获得 JWT。我知道我的“客户秘密”(字符串)。

如何将它放在一起 setSigningKey 以验证 RS256 的响应?使用 Java。谢谢

0 投票
1 回答
2351 浏览

java - 在 docker 容器中启动项目时找不到 io.jsonwebtoken.impl.DefaultJwtBuilder

在本地启动我的 Quarkus 项目mvn quarkus:dev时,执行使用 JJWT 的函数时没有错误。但是,当我将项目导出到 docker 容器中时,它会给我一个错误,指出它找不到 DefaultJwtBuilder。

在对我的项目进行 dockerizing 时,我首先执行

./mvnw package -Pnative -Dquarkus.native.container-build=true

Quarkus 文档中所述,用于在没有 GraalVM 的情况下创建 Linux 可执行文件。

其次是

docker build -f src/main/docker/Dockerfile.native -t quarkus-quickstart/getting-started .

使用 Docker Desktop 启动项目时出现错误。

我在 pom.xml 中的依赖项如下。

详细的错误信息是

我用来构建 docker 映像的 dockerfile 是

任何帮助将不胜感激。

0 投票
1 回答
5873 浏览

java - ConfigFileApplicationListener 已弃用,只能用作 EnvironmentPostProcessor

我正在尝试创建与身份验证服务集成的网关服务。api-gateway/pom.xml

在这个项目中,我在构建路径中添加了一个名为“Common”的应用程序。在通用应用程序中有 3 个文件。JwtAuthenticationConfig JwtTokenAuthenticationFilter JwtUsernamePasswordAuthenticationFilter 我的工作源是这个

运行我的网关应用程序后,我面临以下错误。

帮我解决这个问题。

0 投票
1 回答
609 浏览

spring-boot - 接口函数期望的一种类型参数

我正在按照教程使用 spring boot 和 java 实现 JWT 身份验证。但就我而言,我想用 Kotlin 来做。

我能够生成 jwt 令牌,但在从 jwt 令牌中提取声明时遇到问题。

在本教程中,有一个从令牌中提取声明的通用函数。

我在 kotlin 中写了如下。

我收到来自Function<Claims, T>的错误说

接口函数期望的一种类型参数

我还可以看到还有其他选项,例如KFunctionKFunction1

我在 Kotlin 方面没有多少经验,有人可以帮我解决这里的问题或提出更好的方法。

0 投票
1 回答
4236 浏览

spring-boot - io.jsonwebtoken.SignatureException:JWT 签名与本地计算的签名不匹配

我在休息服务上使用带有 JWT 的 Spring Boot 和 Spring Security。我使用了以下链接中的代码: https ://www.javainuse.com/spring/boot-jwt-mysql 它工作正常,但是当我们使用它的令牌进行身份验证时......我们面临以下错误:

io.jsonwebtoken.SignatureException:JWT 签名与本地计算的签名不匹配。JWT 有效性不能被断言,也不应该被信任。在 io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:354) ~[jjwt-0.9.1.jar:0.9.1] 在 io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481) ~[ jjwt-0.9.1.jar:0.9.1] 在 io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541) ~[jjwt-0.9.1.jar:0.9.1] 在 com.isan.config。 JwtTokenUtil.getAllClaimsFromToken(JwtTokenUtil.java:46) ~[classes/:na] at com.isan.config.JwtTokenUtil.getClaimFromToken(JwtTokenUtil.java:41) ~[classes/:na] at com.isan.config.JwtTokenUtil。 getUsernameFromToken(JwtTokenUtil.java:32) ~[classes/:na] at com.isan.config.JwtRequestFilter.doFilterInternal(JwtRequestFilter.java:44) ~[classes/:na] at org.springframework.web.filter。

这些是代码:

1-WebSecurityConfig 类:

2-JwtTokenUtil 类:

3-JwtRequestFilter 类:

4-JwtAuthenticationEntryPoint 类:

5-JwtAuthenticationController 类:

6-JwtUserDetailsS​​ervice 类:

7-应用程序.properties

8-pom.xml

9 代币示例:

10个秘密示例: