访问lambda中的用户属性

时间:2018-03-03 16:37:19

标签: amazon-web-services aws-lambda aws-cognito

鉴于用户的cognito-Id是否有办法在lambda中获取与它们相关的自定义属性?

我所指的属性是时区,因为时间保存在数据库的unix中,当转换为供用户查看时,我需要知道他们的时区。

问题的额外文字不符合质量标准

1 个答案:

答案 0 :(得分:2)

如果您正在使用带有Cognito授权程序的API网关(以及Lambda代理集成),则可以通过requestContext获取用户的自定义属性,例如event.requestContext.authorizer.claims["custom:timezone"]

(顺便说一下,Cognito提供了一个名为zoneinfo的标准属性。)

如果您不使用Cognito授权程序,则可以使用AdminGetUser通过提供用户名和用户池ID来获取用户的自定义属性。在这种情况下,您的Lambda函数的IAM角色需要有一个允许规则来对您的用户池资源执行"cognito-idp:AdminGetUser"操作。