Cognito在更新用户属性后获取新令牌

时间:2017-12-06 09:11:29

标签: amazon-web-services amazon-cognito

我对亚马逊Cognito有疑问。 我想要实现的是为用户记录设置默认自定义属性。 理想情况下,如果我可以在用户池中默认设置它,那将是很好的,例如"custom:domain": "some name"。但是我无法找到一个这样的例子,或者可能在Lambda的Pre sign-up触发器中设置它,但我也没有找到它的例子。我做了什么,当用户进行身份验证时,我获得了用户属性并使用updateAttributes设置了所需属性(我使用amazon-cognito-identity-js)。我遇到的这种方法的缺点是,在第一次用户登录时,他首先获得令牌,然后才获得它设置的自定义属性。因此,在首次登录时,令牌中会遗漏此属性。我想问一下做这种员工的最佳方法是什么?如果我的变体合适,我如何在更改用户属性后更新用户令牌,以便它们出现在该令牌中。

2 个答案:

答案 0 :(得分:1)

您将在令牌刷新时获取令牌中的新属性。但是,SDK并未提供手动刷新令牌的方法。我们会将此视为SDK的功能请求。 令牌通常有效一小时,并在SDK过期时自动刷新。因此,您的用户至少会在一小时后获得具有新属性的令牌。

答案 1 :(得分:0)

另一种选择是添加一个Pre令牌生成触发器,该触发器检查该值是否已设置,以及是否未覆盖该值。 http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html#aws-lambda-triggers-pre-token-generation-example-1如果以这种方式完成,则会在用户第一次获取令牌时设置。

相关问题