情况:
我有运行java后台进程服务,需要访问安全的REST API端点。
API端点是使用无服务器框架在Amazon API Gateway后面运行的AWS lambda函数。它使用Amazon Cognito用户池授权程序进行保护。
我为我的Java后台服务创建了一个App Client,它附加到用户池。
我已成功检索客户端身份验证令牌,并使用cURL和HttpClient访问API端点。
题:
AWS Java SDK(v1或v2)中是否提供此功能?
我一直在浏览SDK文档,到目前为止一无所获。有没有我错过或找不到的东西?或者这是目前还没有?
对于客户端凭据身份验证流,Cognito的AWS Java SDK(任何版本)中没有原始API调用。但是,您可以手动编写自己的逻辑来实现此流程,因为客户端凭据(机器到机器流程)中涉及的步骤序列可以使用vanilla Java完成。此流程需要向Cognito的OAuth 2.0 TOKEN端点[a]发出POST请求。由于此流程本质上需要端点请求,因此我认为Cognito开发人员不会开发可访问的API来实现流程。
有关更多详细信息,我请求您查看此官方文档[b],以及此非AWS发布的教程[c]。
[一个]。 https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html
并[b]。 https://aws.amazon.com/blogs/mobile/understanding-amazon-cognito-user-pool-oauth-2-0-grants/
[C]。 https://lobster1234.github.io/2018/05/31/server-to-server-auth-with-amazon-cognito/