Cognito jwt令牌验证抛出400错误



我是AWS Cognito的新手。我有一个springboot应用程序,我使用aws-cognito作为我们的身份验证提供者。我已经配置了cognito,登录可以完美地返回访问令牌和id令牌。然而,当我试图通过cognito验证该访问令牌时,我得到了400 IOException。

Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: https://cognito-idp.{region}.amazonaws.com/{poolid}/.well-known/jwks.json
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1997)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at com.nimbusds.jose.util.DefaultResourceRetriever.getInputStream(DefaultResourceRetriever.java:305)
at com.nimbusds.jose.util.DefaultResourceRetriever.retrieveResource(DefaultResourceRetriever.java:257)
at com.nimbusds.jose.jwk.source.RemoteJWKSet.updateJWKSetFromURL(RemoteJWKSet.java:305)

我认为在你的URL中,你仍然有你复制的示例中的模板变量(例如{region}和{poolid}。这些令牌需要用你的认知设置中的实际值替换,所以最终的URL是,例如:

https://cognito-idp.us-east-1.amazonaws.com/us-east-1_xxxxxxxxx/.well-known/jwks.json

IOException可能是由无效的URL引起的。

最新更新