Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Amazon Cognito错误:尝试执行updateUserAttributes Cognito服务时出错(成员必须满足正则表达式模式:[A-Za-z0-9-=.]和#x2B;])_Node.js_Amazon Web Services_Aws Sdk_Amazon Cognito - Fatal编程技术网

Node.js Amazon Cognito错误:尝试执行updateUserAttributes Cognito服务时出错(成员必须满足正则表达式模式:[A-Za-z0-9-=.]和#x2B;])

Node.js Amazon Cognito错误:尝试执行updateUserAttributes Cognito服务时出错(成员必须满足正则表达式模式:[A-Za-z0-9-=.]和#x2B;]),node.js,amazon-web-services,aws-sdk,amazon-cognito,Node.js,Amazon Web Services,Aws Sdk,Amazon Cognito,我试图更新类的属性:AWS.CognitoIdentityServiceProvider 带有节点js 答复是: {[InvalidParameterException:1检测到验证错误:“accessToken”处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-=.]+] 消息:“检测到1个验证错误:'accessToken\'处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-=.]+', 代码:“InvalidParameterException”,

我试图更新类的属性:AWS.CognitoIdentityServiceProvider 带有节点js

答复是: {[InvalidParameterException:1检测到验证错误:“accessToken”处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-=.]+]
消息:“检测到1个验证错误:'accessToken\'处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-=.]+',
代码:“InvalidParameterException”,
时间:2016年6月23日星期四09:50:15 GMT-0500(COT),
请求ID:'cb98c60f-3951-11e6-a4c2-3d6c71f21f4c',
状态代码:400,
可检索:false,
retryDelay:36.788223031908274}


我做错了什么?

CognitoIdentityServiceProvider接受的
AccessToken
不是AWS凭据中的会话令牌。当您使用用户名和密码对用户进行身份验证时,它是Cognito用户池服务(Identity Provider)提供的一种服务


有关使用我们的Cognito用户池JavaScript SDK的说明,请参阅。

您是在名称或值中使用“\u”吗?@error2007s是的,我在名称属性中使用自定义:下一个\u标记!为什么?是的,去掉那个“u”它就会work@error2007s不,我改了,同样的错误。但是问题是令牌没有属性!很高兴听到它起作用了。如果你认为这是你所需要的,请接受答案。
// Set credentials
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: 'us-east-1:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
});
let CognitoIdentityServiceProvider = AWS.CognitoIdentityServiceProvider();

// Make the call to obtain credentials
AWS.config.credentials.get(function() {
  // Credentials will be available when this function is called.
  var token = AWS.config.credentials.sessionToken;
  var params = {
    UserAttributes: [{
      Name: 'custom:XXXXXXXX',
      Value: 'XXXXXXXX'
    }],
    AccessToken: token
  };
  CognitoIdentityServiceProvider.updateUserAttributes(params, function(err, data) {
    if (err) {
      console.log(err, err.stack); // an error occurred
      return callback(false, err.stack);
    }
    console.log(data);
    callback(true, data);
  });
});