问题标签 [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 回答
745 浏览

java - 获取 java.lang.NoSuchMethodException: io.jsonwebtoken.impl.crypto.MacProvider.generateKey 仅在 jUnits 的情况下

我最近开始出现以下异常,仅在运行 junits 时。在正常流程中,该方法运行良好。(事实上​​,即使是以前的 jUnits 也能正常工作)

java.lang.NoSuchMethodException: io.jsonwebtoken.impl.crypto.MacProvider.generateKey(io.jsonwebtoken.SignatureAlgorithm)

以下是方法:

和 jjwt 版本:

在此处输入图像描述

以下是完整的堆栈跟踪:

原因:java.lang.IllegalStateException:无法调用类方法 io.jsonwebtoken.impl.crypto.MacProvider#generateKey。确保必要的实现在运行时类路径中。在 io.jsonwebtoken.lang.Classes.invokeStatic(Classes.java:202) 在 io.jsonwebtoken.security.Keys.secretKeyFor(Keys.java:121) 在 com.random.util.ServiceSpecificUtil.generateDummyJWT(ServiceSpecificUtil.java:143) ) 在 com.random.util.ServiceConstants.(ServiceConstants.java:203) 在 com.random.MyClass.isUserBranch(MyClass.java:67) 在 com.random.MyClass.validName(MyClass.java:93) 在 com。 random.MyClass.preConditionCheck(MyClass.java:82) 在 com.random.MyClass.get(MyClass.java:46) 在 com.random.MyClass2.evaluateExpression(MyClass2.java:218) 在 sun.reflect.NativeMethodAccessorImpl。NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method. java:498) at io.jsonwebtoken.lang.Classes.invokeStatic(Classes.java:198) ... 66 更多原因:java.lang.IllegalStateException:HmacSHA384 算法不可用。这绝不应该在 JDK 7 或更高版本上发生 - 请将此情况报告给 JJWT 开发人员。在 io.jsonwebtoken.impl.crypto.MacProvider.generateKey(MacProvider.java:94) 在 io.jsonwebtoken.impl.crypto.MacProvider.generateKey(MacProvider.java:63) ... 71 更多原因:java.security。 NoSuchAlgorithmException:HmacSHA384 KeyGenerator 在 javax.crypto.KeyGenerator 中不可用。

0 投票
1 回答
1044 浏览

android - How do i generate JWT from a secretKey which was generated using "PBKDF2withHmacSHA256" in android?

So i am trying to generate JWT token from my key generated using PBKDF2 and the code is like this in android:

But whenever i am trying to generate the token:

i am getting the error:

the method to generate Sha256:

version of jjwt:

0 投票
2 回答
2865 浏览

java - 如何将对象作为 JSON Web 令牌的一部分发送?

我正在尝试使用 jjwt 库创建一个 Web 令牌,但我不知道如何将对象作为声明之一发送。如果我解析对象或手动创建字符串,则整个字符串将作为值而不是单独的 JSON 对象传入。例如,我想发送如下所示的内容:

但我所能创造的只是:

0 投票
1 回答
175 浏览

azure - 生成可以在 Azure 中针对 RSA 签名密钥进行验证的令牌

我正在使用 Azure B2C 自定义策略向用户发送邀请链接,其中包含必要的详细信息的 JWT 令牌。

我需要在 JAVA 中创建 JWT 令牌。使用 jjwt 库,我成功地使用 HS256 创建了一个令牌,但后来​​发现我需要使用 RSA256 对令牌进行签名。我在 Azure AD B2C 中有 TokenSigningKeyContainer 策略密钥,具有以下字段

这似乎是验证生成令牌的公钥,在邀请链接中发送。

我需要知道的是如何获取私钥的必要详细信息以签署 JWT 令牌?

0 投票
1 回答
2419 浏览

java - 无法使用 jsonwebtoken 创建 RS256 jwt 密钥

我尝试按照本教程创建我的 JWT: https ://developer.okta.com/blog/2018/10/31/jwts-with-java 但是当我将 SignatureAlgorithm 从 HS256 更改为 RS 256 时,我收到以下错误:

The signing key's algorithm 'SHA256withRSA' does not equal a valid HmacSHA* algorithm name and cannot be used with HS512.

这是负责 Jwt 的代码部分:

例如,我使用 SECRET_KEY 是:

我的猜测是我错误地签署了密钥......但我不确定我需要做什么......

0 投票
1 回答
1682 浏览

java - 我在使用 JJWT 库创建 JWT 时遇到问题

我在使用 JJWT 库创建 JWT 时遇到问题:https ://github.com/jwtk/jjwt

我已经按照说明提出了这个简单的课程:

当我运行它时,我得到输出:

和例外:

此外,当我在此站点上粘贴我的 jwt 时:https ://jwt.io/ 它给了我正确的(我认为)标题:

和正确的有效载荷:

但它说签名无效。

我究竟做错了什么?如何正确创建签名?

0 投票
1 回答
45 浏览

jjwt - 为什么我的代码会跳过try语句直接进入catch?

我正在尝试解码用户输入的 JWT 令牌字符串并验证签名,我正在使用 io.jsonwebtoken 库。我通过在终端中使用“openssl rand -base64 32”命令获得了“密钥”。我目前正在使用“ http://jwtbuilder.jamiekurtz.com ”来计算标头和有效负载。然后我在 jwtbuilder 网站的 Key 字段中输入我的“密钥”,如下面链接中的图片所示:

jwtbuilder.com 具有所需的标头、有效负载和签名

这是我运行代码时的输出:

代码输出

0 投票
3 回答
8843 浏览

java - 只能为 HMAC 签名指定密钥字节。请指定 PublicKey 或 PrivateKey 实例

我正在尝试读取从 Google OpenID Connect 的 Id 令牌生成的 Json Web 令牌(JWT),以获取声明并使用jjwt库进行验证。我尝试了几种方法来使用下面的代码修复它。

但我收到此错误:

请问什么是正确的方法?

0 投票
1 回答
1370 浏览

spring - Spring Boot Jwt 返回访问被拒绝

大家好,我对 Java 的 jwt 有疑问。这里是代码。这是邮递员的返回值

令牌管理器.java

然后是 JwtTokenFilter.java

这是 WebSecurityConfig

最后一个是我的控制器。我检查了请求正文并打印了它工作正常但 /login 路径返回访问被拒绝的数据。

当我在登录函数中删除 authenticationManager.authenticate 方法时,它返回一个有效的令牌。但是当我再次添加 authenticationManager 时,它返回访问被拒绝。

0 投票
1 回答
68 浏览

java - 我应该如何在 android 中使用 JWT?

我想用来jjwt创建登录活动。所以我不知道如何使用它。我在https://github.com/jwtk/jjwt中阅读了它,但我听不懂,因为我的英语不流利。我想让你给我一个例子来理解它。我应该送任何东西去服务吗?或者我应该将密钥保存在我DatabaseHelper的 with 中sqlite openhelper。我OkHttp用于将用户名和密码发送到服务并使用json. 这是我的活动:

主要活动 :