AWS を使用して WebApp に取り組んでいます。DynamoDB テーブルから項目を取得しようとしていますが、「この ID プールでは認証されていないアクセスはサポートされていません」というエラーが表示されます。アプリに認証されていないユーザーを入れたくないのですが、DynamoDB クエリを呼び出す前にログインしています。誰でも私を助けることができますか?これが私のコードです:
function facebookLogin () {
FB.login(function (response) {
if (response.authResponse) { // logged in
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'myActualPoolId'
});
AWS.config.region = 'us-east-1';
AWS.config.credentials.params.logins = {}
AWS.config.credentials.params.logins['graph.facebook.com'] = response.authResponse.accessToken;
AWS.config.credentials.expired = true;
console.log("Importing drivers into DynamoDB. Please wait.");
var drivers = JSON.parse('[{"userId": "4","driverId": "4d","ratingValue": 3,"truckId": "4"},{"userId": "5","driverId": "5d","ratingValue": 2,"truckId": "5"}]');
drivers.forEach(function(driver) {
var params = {
TableName: "myActualTableName",
Item: {
"userId": driver.year,
"driverId": driver.title,
"ratingValue": driver.info,
"truckId": driver.truckId
}
};
var docClient = new AWS.DynamoDB.DocumentClient();
docClient.put(params, function(err, data) {
if (err) {
console.error("Unable to add driver", driver.userId, ". Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("PutItem succeeded:", driver.userId);
}
});
});
} else {
console.log('There was a problem logging you in.');
}
});
}
助けていただければ幸いです。ありがとう!