AWS Cognito检查并获取用户

时间:2017-05-05 06:43:11

标签: ios swift amazon-web-services aws-sdk amazon-cognito

我正在构建使用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的用户名和属性,然后在那里访问它,但这只会创建双重不必要的条目。

1 个答案:

答案 0 :(得分:0)

您遇到的问题是用户属性不公开显示。只有已登录的用户才能调用GetUser。如果它是后端进程,您可以通过AdminGetUser操作执行此操作,但这看起来像客户端,所以我不建议这样做。解决这个问题的唯一方法是最终完成你在帖子底部建议的内容。

相关问题