我正在构建使用Amazon MobileHub的iOS应用。目前它与Cognito相关联,注册和登录流程效果很好。
我想要实现的目标是让一个用户能够将另一个用户添加为朋友。为了实现这一点,我需要检查具有特定用户名的用户是否存在,如果存在,请获取一些属性,例如该目标用户的名称。
我已尝试使用获取用户>获取详细信息功能,但它给我一个错误身份验证委托未设置。
这是我使用的代码:
var pool: AWSCognitoIdentityUserPool?
let user = pool?.getUser(usernameField.text!)
self.pool = AWSCognitoIdentityUserPool.init(forKey: AWSCognitoUserPoolsSignInProviderKey)
user?.getDetails().continueWith { (task: AWSTask<AWSCognitoIdentityUserGetDetailsResponse>) -> Any? in
if let error = task.error as NSError? {
print("ERROR: " + error.localizedDescription)
return ""
}
print(task.result)
return ""
}
我想到的一种方法是存储我想要访问DynamoDB的用户名和属性,然后在那里访问它,但这只会创建双重不必要的条目。
答案 0 :(得分:0)
您遇到的问题是用户属性不公开显示。只有已登录的用户才能调用GetUser。如果它是后端进程,您可以通过AdminGetUser操作执行此操作,但这看起来像客户端,所以我不建议这样做。解决这个问题的唯一方法是最终完成你在帖子底部建议的内容。