我正在java中构建一个使用AWS cognito的HTTP API,以及开发人员认证的身份,以提供令牌来保护API。我已将登录系统配置为在用户登录时发出认知令牌,并且认知身份池包含每个用户以及与我的后端相关联的开发人员身份,但我很难找到一种直接检索用户特定方式的方法来自cognito令牌的开发者标识符。我曾尝试使用AssumeRoleWithWebIdentityResult
API调用,但无法找到有关它的文档以确定开发人员标识符,仅用于获取临时AWS凭据的示例。
答案 0 :(得分:0)
在GetOpenIdTokenForDeveloperIdentity返回的令牌中,您为用户提供的唯一标识符位于" amr"领域。因此,您需要打开令牌才能获得它。
编辑:正如Alexis N-o指出的那样,您可以使用Cognito Identity ID查找开发人员身份:http://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_LookupDeveloperIdentity.html
答案 1 :(得分:0)
获得临时AWS凭证后,当您呼叫后端时,您可以在上下文中访问呼叫者的cognito标识符。然后,您可以检索开发人员标识using lookupDeveloperIdentity
on the server side。
如果您使用API gateway或Lambda
,请检查这些页面以检索上下文数据