Amazon Cognito Error : Error trying to do updateUserAttributes Cognito Service (Member must satisfy regular expression pattern: [A-Za-z0-9-_=.]+] )
Amazon Cognito Error : Error trying to do updateUserAttributes Cognito Service (Member must satisfy regular expression pattern: [A-Za-z0-9-_=.]+] )
我正在尝试 Class 的 updateUserAttributes:AWS.CognitoIdentityServiceProvider 请记住
使用节点 js
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#updateUserAttributes-property
// 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);
});
});
响应是:
{ [InvalidParameterException:检测到 1 个验证错误:'accessToken' 处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-_=。 ]+]
消息:'检测到 1 个验证错误:\'accessToken\' 处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-_=.]+',
代码:'InvalidParameterException',
时间:2016 年 6 月 23 日星期四 09:50:15 GMT-0500 (COT),
requestId: 'cb98c60f-3951-11e6-a4c2-3d6c71f21f4c',
状态码:400,
可重试:假,
重试延迟:36.788223031908274}
我做错了什么?
CognitoIdentityServiceProvider 接受的 AccessToken
不是来自您的 AWS 凭证的会话令牌。当您使用用户名和密码对用户进行身份验证时,它是 Cognito 用户池服务(身份提供者)提供的 tokens 之一。
有关使用我们的 Cognito 用户池 JavaScript SDK 的说明,请参阅 this guide。
我正在尝试 Class 的 updateUserAttributes:AWS.CognitoIdentityServiceProvider 请记住 使用节点 js http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#updateUserAttributes-property
// 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);
});
});
响应是:
{ [InvalidParameterException:检测到 1 个验证错误:'accessToken' 处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-_=。 ]+]
消息:'检测到 1 个验证错误:\'accessToken\' 处的值未能满足约束:成员必须满足正则表达式模式:[A-Za-z0-9-_=.]+',
代码:'InvalidParameterException',
时间:2016 年 6 月 23 日星期四 09:50:15 GMT-0500 (COT),
requestId: 'cb98c60f-3951-11e6-a4c2-3d6c71f21f4c',
状态码:400,
可重试:假,
重试延迟:36.788223031908274}
我做错了什么?
CognitoIdentityServiceProvider 接受的 AccessToken
不是来自您的 AWS 凭证的会话令牌。当您使用用户名和密码对用户进行身份验证时,它是 Cognito 用户池服务(身份提供者)提供的 tokens 之一。
有关使用我们的 Cognito 用户池 JavaScript SDK 的说明,请参阅 this guide。