Java 用于API令牌身份验证的AWS Cognito

Java 用于API令牌身份验证的AWS Cognito,java,api,amazon-web-services,aws-sdk,amazon-cognito,Java,Api,Amazon Web Services,Aws Sdk,Amazon Cognito,我正在用java构建一个HTTP API,它使用AWS cognito和开发人员身份验证身份来提供令牌来保护API。我已经将登录系统配置为在用户登录时发出cognito令牌,cognito标识池包含每个用户以及与我的后端关联的开发人员标识,但是我很难找到一种直接的方法从cognito令牌中检索特定于用户的开发人员标识。我曾尝试使用AssumeRoleWithWebIdentityResultAPI调用,但无法找到有关它的文档以确定开发人员标识符,只找到用于获取临时AWS凭据的示例。在GetOpe

我正在用java构建一个HTTP API,它使用AWS cognito和开发人员身份验证身份来提供令牌来保护API。我已经将登录系统配置为在用户登录时发出cognito令牌,cognito标识池包含每个用户以及与我的后端关联的开发人员标识,但是我很难找到一种直接的方法从cognito令牌中检索特定于用户的开发人员标识。我曾尝试使用
AssumeRoleWithWebIdentityResult
API调用,但无法找到有关它的文档以确定开发人员标识符,只找到用于获取临时AWS凭据的示例。

在GetOpenIdTokenForDeveloperIdentity返回的令牌中,您为用户提供的唯一标识符位于“amr”字段中。所以你需要打开令牌才能得到它

编辑:正如Alexis N-o指出的,您可以使用Cognito标识ID查找开发人员标识:


一旦您拥有临时AWS凭据,当您调用后端时,您可以在上下文中访问调用方的Cognoto标识符。然后可以检索开发人员标识符

如果您正在使用或,请检查这些页面以检索上下文数据