首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从lambda访问用户信息

从lambda访问用户信息
EN

Stack Overflow用户
提问于 2018-11-15 23:31:11
回答 1查看 344关注 0票数 0

我正在与aws合作开发一个无服务器应用程序。

我使用AWS Cognito用户池管理用户:注册、登录、注销。确认这些用户后,我将使用AWS Cognito Identity Pool获取临时凭据。然后,我使用这些凭据来访问api (我的api上的端点需要AWS_IAM进行身份验证并调用lambda)。

所有这些都能完美地工作。但我需要知道哪个用户请求了该操作。在lambda中,我可以从我的身份池中获取IdentityId。但我需要从user Pool中的用户那里获取属性。

所以我的问题是:有没有一种方法可以使用附加到用户池的身份的IdentityId从用户池中获取用户?或者至少,获得访问令牌?我知道我可以在报头中发送访问令牌,但我想只依赖于AWS_IAM身份验证。

EN

回答 1

Stack Overflow用户

发布于 2018-11-16 17:36:56

从联邦identity_id返回到用户池用户是很棘手的,因为不能保证它是用户池用户(它很可能是来自Facebook的某个人,甚至是一个未经身份验证的用户-取决于您的配置)。

  1. 给定IdentityId后,您可以使用identity:GetOpenIdToken获取有效的OpenId令牌(如果您正在使用UserPools).
  2. You,则可以忽略请求的logins部分,然后可以对userpools:GetUser端点使用此令牌。

这里有一些陷阱,比如确保您使用一个允许您查看所有您关心的属性的范围进行身份验证。如果没有,则需要使用随userpools:AdminGetUser返回的username来获取完整的用户配置文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53322757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档