Доступ без аутентификации не поддерживается для этого пула идентификаторов при использовании DynamoDB

Я изучаю AWS для iOS,

Я пытаюсь использовать следующие вещи,
1.DynamoDB
2.Cognito
3.Facebook Вход в систему

Я получал сканирование AWS DynamoDB, когда не было интегрированного входа в систему. После интеграции входа в систему с Facebook, я настраиваю Facebook для Cognito следующим образом:

 if let fbToken = FBSDKAccessToken.currentAccessToken().tokenString{
        let credentialsProvider = AWSCognitoCredentialsProvider(
        regionType: CognitoRegionType,
        identityPoolId: CognitoIdentityPoolId)
        credentialsProvider.logins = [AWSCognitoLoginProviderKey.Facebook.rawValue: fbToken]
 }

Но после настройки этого у меня нет доступа к DynamoDB сейчас. Это говорит: Unauthenticated access is not supported for this identity pool

Примечание: вход в систему необходим в моем случае.

2 ответа

Исключение, которое вы видите, означает, что пул удостоверений не настроен для разрешения удостоверений без проверки подлинности. Но так как вы используете Facebook Token и получаете эту ошибку, кажется, что токен, возможно, был неправильно установлен на провайдере учетных данных.

Этот блог может быть полезен https://mobile.awsblog.com/post/Tx92ASFNST8JPV/Using-Amazon-Cognito-with-Swift-sample-app-developer-guide-and-more

Похоже, вам нужно взглянуть на политику Cognito для пользователей или ролей. Посмотрите, разрешено ли пользователям, созданным с помощью вызова fb и ролей, не прошедших проверку подлинности, доступ к DynamoDB.