gpt4 book ai didi

swift - 如何从 Swift 中的 AWS Cognito 用户池获取用户属性?

转载 作者:搜寻专家 更新时间:2023-10-31 22:57:38 24 4
gpt4 key购买 nike

我将 AWS Cognito 用户池与 Amazon's Swift sample app 结合使用.我能够创建具有 given_name 属性的用户,但稍后如何检索 given_name 并不明显。

Amazon 示例将属性检索为 AWSCognitoIdentityUserGetDetailsResponse,然后将它们转储到屏幕上。但是,我找不到 AWSCognitoIdentityUserGetDetailsResponse 的文档。它似乎是一个数组,但我不清楚如何从返回的属性中提取 given_name。人们会认为将属性作为字典返回是个好主意,但亚马逊似乎并没有那样做。

有什么建议吗?

编辑:澄清一下,返回的是一个AttributeType 对象数组。下面是 Cognito 示例中的代码,它显示了所有返回的属性:

override func tableView(_ tableView: UITableView, cellForRowAt 
indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "attribute", for: indexPath)
let userAttribute = self.response?.userAttributes![indexPath.row]
cell.textLabel!.text = userAttribute?.name
cell.detailTextLabel!.text = userAttribute?.value
return cell
}

这是原始响应:

Response body:
{"UserAttributes":[{"Name":"sub","Value":"XXXXXXXX-XXXX-XXXX-XXXX-
XXXXXXXXXXXX"},{"Name":"email_verified","Value":"true"},
{"Name":"given_name","Value":"Bob"},
{"Name":"email","Value":"bob@example.com"}],"Username":"AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE"}

我不太清楚如何在不遍历整个数组的情况下提取 given_name

最佳答案

这里不是 iOS 专家,但从我在 SDK implementation 中看到的情况来看, 看起来他们 copy来自 AWSCognitoIdentityProviderGetUserResponse 的详细信息,documentation以 map 的形式显示它具有用户属性。您是否尝试在响应中查找 userAttributes 数组?

此外,原始 GetUser API说 UserAttributes 应该在响应中。

关于swift - 如何从 Swift 中的 AWS Cognito 用户池获取用户属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42916025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com