我正在尝试在我的 API 中验证来自 AzureAD 的 JWT 上的签名。我检索公钥的端点在这里:https ://login.microsoftonline.com/common/discovery/keys
到目前为止,我已经尝试使用 Auth0 库 ( https://github.com/auth0/java-jwt )和 Nimbusds 库 ( https://connect2id.com/products/nimbus-jose-jwt/download ) 但我看不到如何将 JWK 以它所在的形式(字符串)实际转换为可以操作的对象。
Nimubs 似乎是更有前途的选择,因为它有一种方法可以用来从 JWK 中提取公钥......
List<JWK> matches = new JWKSelector(
new JWKMatcher.Builder()
.keyType(KeyType.RSA)
.keyID("123456")
.build()
).select(jwkSet);
这看起来或多或少像我需要的,但我不确定如何从提供的字符串中设置我的 JWK 对象列表。
谢谢。