如何通过Java JWT API验证Json Web令牌(JWT)?

如何通过Java JWT API验证Json Web令牌(JWT)?,jwt,Jwt,我不熟悉oauth和JSON Web令牌(jwt)。我试图通过JavaJWTAPI()验证授权令牌(jwt)。我能够通过该API解码报头和有效负载,但无法验证令牌 我对这个领域知之甚少,我认为我必须将jwks-rs-javaapi()添加到我的测试项目中,以便处理验证部分,所以我根据我阅读的文档导入并运行了以下语句 “oauth_服务器_域”是Oracle Access Manager(oam) 然后我得到了以下例外: com.auth0.jwk.SigningKeyNotFoundExcept

我不熟悉oauth和JSON Web令牌(jwt)。我试图通过JavaJWTAPI()验证授权令牌(jwt)。我能够通过该API解码报头和有效负载,但无法验证令牌

我对这个领域知之甚少,我认为我必须将jwks-rs-javaapi()添加到我的测试项目中,以便处理验证部分,所以我根据我阅读的文档导入并运行了以下语句

“oauth_服务器_域”是Oracle Access Manager(oam)

然后我得到了以下例外:

com.auth0.jwk.SigningKeyNotFoundException: Cannot obtain jwks from url https://<oauth_server_domain>/.well-known/jwks.json 
Caused by javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
com.auth0.jwk.SigningKeyNotFoundException:无法从url获取jwkshttps:///.well-known/jwks.json 
由javax.net.ssl.SSLHandshakeException引起:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径
我试图了解问题本身以及如何纠正它

  • 我是否提供了错误的密钥id
  • 我是否需要将远程“oauth_服务器_域”的证书导入到我在IDE中构建/执行项目的本地框中
  • 如何将./well-known/jwks.json添加到oauth服务器(例如OAM)中
更新:

我确实有一个带有授权服务器(oam)公钥的证书(以*.der格式)。似乎我需要按照以下指南()手动创建./well-known/jwks.json文件。我想我应该能够将二进制编码的证书转换为基于base64的证书(*.pem格式?)

但如何从授权服务器(例如)公开该相对路径

我非常感谢你在这件事上的建议和意见。谢谢大家!

com.auth0.jwk.SigningKeyNotFoundException: Cannot obtain jwks from url https://<oauth_server_domain>/.well-known/jwks.json 
Caused by javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target