tôi đã thực hiện một chức năng AWS Lambda và sử dụng cửa ngõ để trả lại dữ liệu fulling:Tiếp cận đầy đủ tới DynamoDB từ ứng dụng ios tôi sử dụng sắc Developer AWS Cognito
var param =
{
IdentityPoolId: "actualIdentityPoolId",
Logins: {} // To have provider name in a variable
};
param.Logins["com.testing.userLogin"] = userId;
cognitoidentity.getOpenIdTokenForDeveloperIdentity(param,
function(err, data)
{
if (err) return fn(err); // an error occurred
else fn(null, data.IdentityId, data.Token); // successful response
});
Vì vậy, các identityId và mã thông báo được gửi trở lại thiết bị ios. Trong thiết bị của tôi, tôi cố gắng kết nối với một bảng AWS DynamoDB nhưng truy cập bị từ chối. Làm cách nào để sử dụng ID và mã nhận dạng để truy cập vào các bảng?
Tôi đã thiết lập vai trò trong IAM cho Unauth, từ chối Dydnamo và Auth cho phép truy cập vào các bảng thông qua các chính sách của nó.
Tôi cố gắng để thực hiện xác thực sử dụng: http://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html
tôi thấy có hai dòng chảy đó là cơ bản và nâng cao. Tài liệu cho biết hầu hết người dùng sẽ sử dụng luồng nâng cao và triển khai GetCredentialForIdentity.
Làm cách nào được triển khai trong mã ios của tôi để tôi có thể chuyển vai trò của mình khỏi trạng thái không xác thực thành auth và có thể truy cập vào dynamodb? Quyền truy cập này kéo dài bao lâu? Tôi muốn làm điều này tất cả trong mã ios của tôi thay vì sử dụng lambda hoặc cái gì khác như thế.
Tôi đã sử dụng liên kết đó nhưng vẫn không có xúc xắc và dynamodb vẫn chưa được xác thực. – cdub