我想将AWS Cognito集成到我的移动应用程序中并主要使用Facebook和Google登录,并且一旦用户登录,他就可以从S3上载/下载文件并与其交互DynamoDB也是如此。我还希望特定用户的cognitoID成为DynamoDB中识别每个用户的主键。 首先,这是一个好主意,保持用户识别每个用户的认证ID(IdentityID)?使用Cognito通过Facebook登录后无法获取身份ID
其次,当我尝试使用getIdentityID从sharedInstance拿到身份ID,在以下
// Retrieve your Amazon Cognito ID
credentialsProvider.getIdentityId().continueWithBlock { (task: AWSTask!) -> AnyObject! in
if (task.error != nil) {
print("Error: " + task.error.localizedDescription)
}
else {
// the task result will contain the identity id
let cognitoId = task.result
}
return nil
}
的行或多或少我没有得到所需要的IdentityID,而是我得到一个零和因此不能坚持。 我错过了什么吗? 如果您需要更多信息,请让我知道。
我使用ClientManager作为 [链接](HTTPS给出://github.com/awslabs/aws-sdk-ios-samples/blob/master/CognitoSync-Sample/Swift/CognitoSyncDemo/AmazonClientManager.swift) 在我的项目中,这里上面的代码在功能 initializeClients 。 并在一些其他viewController访问身份ID我尝试了两个 AmazonClientManager.sharedInstance.credentialsProvider?.identityId和我的问题给出的,都给我零。 –
尝试一些基本的东西。如上所述初始化客户端,在该客户端上调用刷新,等待几秒钟,然后检查它。那么它是否设置? –