【发布时间】:2022-02-12 01:57:55
【问题描述】:
如何使用 FusionAuth java Client 库验证 HS256 ID Token?
描述:我在 FusionAuth 中创建了一个应用程序,它生成了一个客户端 ID 和客户端密码,我没有触及任何其他部分/选项卡,如 JWT 等,默认 JWT 签名算法是 OIDC 标准 HMAC SHA256。
我尝试使用以下代码方法基于公钥验证令牌,但它不适用于 HS256 签名令牌,我在互联网上搜索发现公钥不适用于 HS256
能否请您提供一个 Java 代码,以使用 FusionAuth Java 客户端库 (https://github.com/FusionAuth/fusionauth-jwt) 验证 HS256 签名令牌。 也请告诉我是否需要在 FusionAuth 管理控制台上进行任何其他配置。
我尝试过的代码:它给出了空白的公钥。
List<JSONWebKey> keys = JSONWebKeySetHelper.retrieveKeysFromJWKS("http://localhost:9011/.well-known/jwks.json");
Map<String, Verifier> publicKeyVerifiers = new HashMap<String, Verifier>();
JWT jwtDecoded = JWT.getDecoder().decode(idToken, publicKeyVerifiers);
【问题讨论】:
标签: authentication oauth-2.0 jwt fusionauth hmacsha256