我有以下情况:
1-Web客户端应用通过Cognito用户池对用户进行身份验证
2-Web客户端应用检索由Cognito身份池提供的凭据(STS临时凭据,而不是id令牌或acess令牌)
3-Web Client App将上述凭证发送到API网关,该网关设置为将AWS_IAM用作授权方法
4-API网关调用lambda函数,该函数需要知道谁是与凭据关联的用户:用户ID或用户名
问题
如何从API网关或lambda函数中的Cognito身份池提供的凭据中检索用户数据?
我的第一个想法是将附加HTTP标头中的id令牌发送到API网关,但是我没有找到在API Gateway中解码令牌的方法。
第二种选择是将id令牌传递给would decode the token的lambda函数,但我认为这是对lambda函数的重载操作。
答案 0 :(得分:1)
如果您正在使用用户池作为cognito身份池的身份验证提供程序,则可以先map identity id to user pool id。然后,可以在lambda函数中使用AdminGetUser来检索用户的数据。