当前位置: 首页 > 知识库问答 >
问题:

是否可以在Lambda触发器中修改AWS认知用户属性

萧浩漫
2023-03-14

在查看AWS文档之后,

"request": {
  "userAttributes": {
    "string": "string",
    ....
},
"validationData": {<validation data as key-value (String, String) pairs, from the client>}
// Modify an existing username...
event.request.userAttributes.name.ucfirst();

// Add an additional attribute...
event.request.userAttributes.nickname = "ANY_NAME";


callback(null, event);

共有1个答案

谈炳
2023-03-14

是的,绝对有办法!您需要在Lambda处理程序中使用AWS javascript SDK:

const AWS = require('aws-sdk');
AWS.config.update({region: 'ap-southeast-1'});

const cognitoidentityserviceprovider =
  new AWS.CognitoIdentityServiceProvider({
    apiVersion: '2016-04-18'
  });
cognitoidentityserviceprovider.adminUpdateUserAttributes(
  {
    UserAttributes: [
      {
        Name: 'YOUR_USER_ATTRIBUTE_NAME',
        Value: 'YOUR_USER_ATTRIBUTE_VALUE'
      }
    ],
    UserPoolId: event.userPoolId,
    Username: event.userName
  },
  function(err, data) {
    ...
  }
);

确保为Lambda函数提供正确的策略(即允许“cognito-idp:adminupdateUserAttributes”操作),并且用户池定义了该属性。

 类似资料:
  • 我试图插入一个记录到DynamoDB调用"预注册"触发器的Cognito用户池。 Lambda函数对于测试来说非常简单,但在AWSCognito上的客户端应用程序中总是存在错误。CognitoIdentityServiceProvider。CognitoUserPool。注册电话 用例1 Lambda主体: 结果: 用例2 Lambda主体: 结果: 用例3 Lambda主体: 结果: 那么,有什

  • 我有一个认知用户池和相应的身份池。 http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html 如何指定lambda函数的版本?

  • 我使用AWS认知池迁移使用Lambda函数与认知执行角色以下是我的新池应用程序客户端设置 或 用户迁移身份验证流程用户迁移Lambda触发器允许将用户从传统用户管理系统轻松迁移到用户池。若要避免在用户迁移期间让用户重置密码,请选择USER_PASSWORD_AUTH身份验证流。此流在身份验证期间通过加密的SSL连接将用户密码发送到服务。 完成所有用户的迁移后,我们建议将流切换到更安全的SRP流。S

  • 如何在后端管理(删除)AWS Cognito中的用户(使用节点)?

  • 我见过许多关于限制Lambda并发执行的SO问题,但没有见过相反的问题。 我需要增加我的并发执行,但有问题。我在SQS队列中触发了一个Lambda。我已经发布了该函数的一个版本,并为它分配了3,000个并发执行(我的限制从默认的1,000增加到了5,000)。 尽管如此,当我运行我的进程时,我看到成千上万的消息在队列中等待,而我的Lambda函数的Monitoring选项卡显示我的“并发执行”从未

  • 目标是扫描并返回DynamoDB表中的所有项,但在返回响应之前,修改每个特定项的特定属性。 我已经完成了这项工作,但我很想知道是否有一种更具成本效益的方法,而不必遍历所有项目。 目前,我正在返回表的完整扫描,并遍历每个列表项(发现它不是一个对象,而是一个列表): 我怀疑这个解决方案不需要循环就能解决,但如果有一个解决方案可以避免循环,我很想听到!