Доступ без аутентификации не поддерживается для этого пула идентификаторов при использовании 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.