使用DynamoDB时,此标识池不支持未经身份验证的访问

时间:2016-03-09 19:38:40

标签: ios amazon-web-services amazon-cognito amazon-mobile-hub amazon-cognito-facebook

我正在探索适用于iOS的AWS,

我正在尝试使用以下内容,
1.DynamoDB
2.Cognito
3.Facebook登录

当没有任何LogIn集成时,我正在使用AWS DynamoDB扫描。 在使用Facebook集成LogIn之后,我正在将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

注意:在我的情况下,LogIn是必要的。

2 个答案:

答案 0 :(得分:2)

您看到的异常意味着未设置标识池以允许未经身份验证的身份。但是,由于您使用Facebook令牌并收到此错误,似乎可能未在凭据提供程序上正确设置令牌。

此博客可能有用 https://mobile.awsblog.com/post/Tx92ASFNST8JPV/Using-Amazon-Cognito-with-Swift-sample-app-developer-guide-and-more

答案 1 :(得分:1)

听起来您需要查看Cognito用户或角色政策。 看看是否允许通过fb调用创建的用户和未经身份验证的角色访问dynamoDB。