【问题标题】:Get user attributes AWS Amplify iOS SDK获取用户属性 AWS Amplify iOS SDK
【发布时间】:2019-05-08 11:51:06
【问题描述】:

我正在使用 SDK Amplify 构建一个 iOS 应用程序,以便我的用户在 AWS 上注册。

我的登录/注册流程已经开始工作,但问题是使用最新版本的 SDK,我完全不知道如何获取注册用户的属性,例如他的姓氏、电子邮件地址等。 ..

有了这个新的 SDK,一切似乎都可以在 AWSMobileClientclass 周围工作,但我从这个类中看不到任何可以帮助我得到我想要的东西的东西。

official documentation 贫乏,没有涵盖甚至指向我的用例。

如果有人能给我一些提示,甚至是一些好的资源,我将非常感激!

【问题讨论】:

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


    【解决方案1】:

    备注:

    确保您在 Cognito 用户池应用程序客户端中相应地配置了属性读取和写入权限,以使用 getUserAttributes 访问您的用户属性。

    在用户池中配置属性读写权限,

    用户池 -> 常规设置 -> 应用客户端 -> 选择您的应用客户端 -> 显示详细信息 -> 设置属性读写权限

    谢谢!

    【讨论】:

      【解决方案2】:

      你好 YoanGJ 和未来的客人,

      根据您的评论,您正在寻找一些示例代码。

          AWSMobileClient.sharedInstance().getUserAttributes { (attributes, error) in
                  if let attributes = attributes {
                      XCTAssertTrue(attributes.count == 3, "Expected 3 attributes for user.")
                      XCTAssertTrue(attributes["email_verified"] == "false", "Email should not be verified.")
                  }else if let error = error {
                      XCTFail("Received un-expected error: \(error.localizedDescription)")
                  }
                  getAttrExpectation.fulfill()
      }
      

      这段摘录展示了如何调用getUserAttributes,它来自here 的集成测试。

      【讨论】:

      • 感谢这个例子和这个资源
      • 伟大的@donkon 感谢这个sn-p。 ?
      【解决方案3】:

      初始版本中缺少该方法,现已添加。您可以在最新的 SDK 版本2.8.x 中将 getUserAttributes 与以下 API 一起使用:

      public func getUserAttributes(completionHandler: @escaping (([String: String]?, Error?) -> Void))
      

      你可以在这里找到源代码:

      https://github.com/aws-amplify/aws-sdk-ios/blob/master/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift#L532

      谢谢, 罗汉

      【讨论】:

      • 你说得对,我的 pod 没有更新。但是在 2.8.x 版本中,当我尝试调用 getUserAttributes 时,占位符要求我提供 AWSMobileClient 的实例,但没有提及 completionHandler... 请问您有一些实施示例吗?
      猜你喜欢
      • 1970-01-01
      • 2019-05-08
      • 2019-09-08
      • 2020-06-26
      • 2019-06-27
      • 2019-05-08
      • 1970-01-01
      • 2021-10-06
      • 2019-12-16
      相关资源
      最近更新 更多