如何使用 FusionAuth java 客户端库验证 HS256 ID 令牌?
描述:我在 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);