gpt4 book ai didi

ios - 如何在 user?.getDetails 调用后从 AWS Cognito 用户池获取特定属性

转载 作者:行者123 更新时间:2023-11-30 11:40:47 25 4
gpt4 key购买 nike

成功登录后,我想获取特定属性的值。是否可以在不迭代每个属性的情况下做到这一点?我知道我不能下标,但是还有其他方法吗?

因此,在下面的示例中,我想要的是用户电子邮件的值。理想情况下,我想说 let email = userAttributes["email"] 但这种类型不允许订阅。

user?.getDetails().continueOnSuccessWith(block: { (task) -> Any? in
let userAttributes = task.result?.userAttributes

for attribute in userAttributes! {
print(attribute.name!)
print(attribute.value!)
}
return nil
})

最佳答案

看到 AWSCognitoIdentityProviderAttributeType 同时包含名称和值,我们可以轻松映射该数据以创建可通过键值访问的字典。

在某处添加此扩展

extension Array where Element: AWSCognitoIdentityProviderAttributeType {
func dict() -> [String : String] {
var dict: [String : String] = [:]
self.forEach({ e in dict[e.name!] = e.value! })
return dict
}
}

然后使用

task.result?.userAttributes.dict()[...]

关于ios - 如何在 user?.getDetails 调用后从 AWS Cognito 用户池获取特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49313586/

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