ユーザー名を使用して、次の例のようにユーザー属性を取得できるはずです。
var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1'; //This is required to derive the endpoint
var poolData = { UserPoolId : 'us-east-1_TcoKGbf7n',
ClientId : '4pe2usejqcdmhi0a25jp4b5sh3'
};
var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : 'username',
Pool : userPool
};
var cognitoUser = new AWS.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.getUserAttributes(function(err, result) {
if (err) {
alert(err);
return;
}
for (i = 0; i < result.length; i++) {
console.log('attribute ' + result[i].getName() + ' has value ' + result[i].getValue());
}
});
参考:Examples: Using the JavaScript SDK
次の例を使用し、その後、AccessTokenを使用して、ユーザー属性を照会する必要がある場合。
var params = {
AccessToken: 'STRING_VALUE' /* required */
};
cognitoidentityserviceprovider.getUser(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
参考:AWS JavaScript SDK GetUser
注:現在、ユーザーIDによるユーザー属性を取得するためのAWSのJavaScript SDKとAPIの両方でサポートされません。
バックエンドのラムダ関数でユーザー属性を取得する必要があります。ユーザー名はありません。私はバックエンドにユーザーIDしか持っていません。 – Ildar
現在、UserIdによってユーザー属性を取得するためのAWS JavaScript SDKおよびAPIのサポートはありません。ユーザー名を格納するか、AWS Cognito Userpools認証から返されたIDトークンを使用してユーザー属性を照会する必要があります。 – Ashan
私はidでユーザーを取得したいだけです。コグニートが許可していないのは不思議です – Ildar