Kri*_*ian 1 amazon-web-services amazon-cognito
我已经使用Cognito SDK完成了许多get/set属性工作客户端,但现在我需要能够通过Lambda函数(在step函数中)从后端修改用户的自定义属性.
但是在该过程的客户端版本中,我需要检索当前Cognito用户,因为他们之前已经过身份验证.这是代码:
var poolData = this.poolData;
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var cognitoUser = userPool.getCurrentUser();
if (cognitoUser != null) {
cognitoUser.getSession(function(err, session) {
var attributeList = [];
var attribute = {
Name : attr,
Value : value
};
var attribute = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(attribute);
attributeList.push(attribute);
console.log("attributeList", attributeList);
cognitoUser.updateAttributes(attributeList, function(err, result) {
callback(err, result);
});
});
}
Run Code Online (Sandbox Code Playgroud)
但在后端版本中,我在技术上管理用户.
那么,我如何从lambda函数修改用户的属性数据?用户不一定先登录的地方?
您指出时无法更新用户的属性,因为您没有该用户的令牌.
而是使用adminUpdateUserAttributeson CognitoIdentityServiceProvider参数中的用户名并更新属性.
这将要求您对Lambda执行角色拥有正确的权限,因为它将用于SDK调用.因此,您需要lambda的权限才能编辑coginito属性.
呼叫文档:adminUpdateUserAttributes
| 归档时间: |
|
| 查看次数: |
988 次 |
| 最近记录: |