Oauth 2.0 AWS Cognito的象征性内省路径是什么

Oauth 2.0 AWS Cognito的象征性内省路径是什么,oauth-2.0,amazon-cognito,vert.x,Oauth 2.0,Amazon Cognito,Vert.x,我们使用VertxOAuth2组件来实现使用oauth2授权码授权的cognito登录。我们可以使用现有的API实现该场景。但是vertx在其oauth2配置中需要令牌内省路径。否则,无法从cognito询问提供给资源服务器的令牌是否正确。无论如何,我们在cognito文档中找不到关于什么是令牌instrospect上下文路径的任何信息 OAuth2ClientOptions oAuth2ClientOptions = new OAuth2ClientOptions()

我们使用VertxOAuth2组件来实现使用oauth2授权码授权的cognito登录。我们可以使用现有的API实现该场景。但是vertx在其oauth2配置中需要令牌内省路径。否则,无法从cognito询问提供给资源服务器的令牌是否正确。无论如何,我们在cognito文档中找不到关于什么是令牌instrospect上下文路径的任何信息

OAuth2ClientOptions oAuth2ClientOptions = new OAuth2ClientOptions()
                .setClientID("***************************")
                .setIntrospectionPath("") //what should goes here
                .setClientSecret("********************")
                .setSite("*****************")
                .setTokenPath("/oauth2/token")
                .setAuthorizationPath("/oauth2/authorize")
                .setFlow(OAuth2FlowType.AUTH_CODE)

AWS Cognito没有内省端点,因此您必须使用不同的方法:

  • 从JWKS端点下载令牌签名密钥
  • 使用库来验证令牌签名
如果有帮助,下面是一些验证Cognito标记的方法


我没有使用vertx,但它似乎支持。通常,这包括在选项对象中包含JWKS或元数据URL。

AWS Cognito没有内省端点,因此您必须使用不同的方法:

  • 从JWKS端点下载令牌签名密钥
  • 使用库来验证令牌签名
如果有帮助,下面是一些验证Cognito标记的方法


我没有使用vertx,但它似乎支持。通常这涉及在选项对象中包含JWKS或元数据URL。

令牌内省发生在vertx框架内。我能做的唯一一件事就是提供自我反省的途径。如果我们使用您的解决方案,那么我们必须检查在vertx ouath2实现中是否可能被覆盖,或者是否完全放弃了vertx。不是吗?很遗憾,内省不能与Cognito一起使用(当它受到支持时,我总是使用内省)。因此,选项1是找到一种使用vertx的方法。选项2是使用不同的库。当我使用基于Java的OAuth时,我总是使用非常好的文档附带的优秀文档。这是我通常的出发点。最好的库使您能够绕过供应商限制。因此,如果由于从Cognito中删除应用程序客户端而撤销了仍然有效的访问令牌,这是否意味着JWK也将立即从Cognito中删除,从而导致下一次验证失败?不-JWK用于许多应用程序的许多令牌。不记名代币在到期前保持有效。简单的选择是使令牌保持短期(约60分钟),这样您就不用费心编写代码了。如果你走其他的路,你很可能会失望,发现这项技术没有做你想要的。象征性的内省发生在vertx框架内。我能做的唯一一件事就是提供自我反省的途径。如果我们使用您的解决方案,那么我们必须检查在vertx ouath2实现中是否可能被覆盖,或者是否完全放弃了vertx。不是吗?很遗憾,内省不能与Cognito一起使用(当它受到支持时,我总是使用内省)。因此,选项1是找到一种使用vertx的方法。选项2是使用不同的库。当我使用基于Java的OAuth时,我总是使用非常好的文档附带的优秀文档。这是我通常的出发点。最好的库使您能够绕过供应商限制。因此,如果由于从Cognito中删除应用程序客户端而撤销了仍然有效的访问令牌,这是否意味着JWK也将立即从Cognito中删除,从而导致下一次验证失败?不-JWK用于许多应用程序的许多令牌。不记名代币在到期前保持有效。简单的选择是使令牌保持短期(约60分钟),这样您就不用费心编写代码了。如果你走其他的路,你很可能会失望,发现这项技术没有达到你想要的效果。