小编Joh*_*ynn的帖子

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

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


 String publicKeyFromJsonFile = "-----BEGIN PUBLIC KEY-----xxxxxxx-----END PUBLIC KEY-----"

 Claims claims = Jwts.parser()
                .setSigningKey(publicKeyFromJsonFile)
                .parseClaimsJws(jwt).getBody();

 System.out.println(claims);


Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

java.lang.IllegalArgumentException: Key bytes can only be specified for HMAC signatures. Please specify a PublicKey or PrivateKey instance
Run Code Online (Sandbox Code Playgroud)

请遵循什么是正确的方法?

java openid-connect jjwt

7
推荐指数
1
解决办法
6562
查看次数

标签 统计

java ×1

jjwt ×1

openid-connect ×1