gpt4 book ai didi

ios - Cognito 用户已确认处于未确认状态

转载 作者:行者123 更新时间:2023-11-30 12:18:43 24 4
gpt4 key购买 nike

我已经成功实现了 iOS 版 Cognito。我决定将身份验证过程分为三个阶段:

  • 注册
  • 使用代码确认
  • 登录

为了用代码进行确认,我有这段代码:

func sendCode() {
self.pool = AWSCognitoIdentityUserPool(forKey: AWSCognitoUserPoolsSignInProviderKey)
let userForCode = self.pool?.getUser(self.emailTextField.text!)

// Bizarre ce test ne passe pas pourtant le client est confirmé dans Cognito...
if (userForCode?.confirmedStatus != AWSCognitoIdentityUserStatus.confirmed) {
userForCode?.confirmSignUp(confirmCodeTextField.text!, forceAliasCreation: true).continueWith { [weak self] (task) -> Any? in
DispatchQueue.main.async {
if let error = task.error as? NSError {
print("erreurCode : \(error.userInfo["message"])")
} else if let result = task.result {
print("client créé confirmé")
}
}
return nil
}
}
}

我从 userPool 中获取一个用户,如果他的帐户尚未确认,我想向用户询问确认码,因此对 userCode.confirmedStatus 进行测试。不幸的是,即使用户在 Cognito AWS 控制台中具有确认状态,测试也始终为真。

最佳答案

我已经在我的应用程序中完成了确认代码,并且是在向用户发送电子邮件后使用 verifyAttribute 完成的:

self.user?.verifyAttribute("email", code: code).continueWith { (task) in
DispatchQueue.main.async(execute: {
if let error = task.error as NSError? {
// handle error (display message perhaps)
} else {
// the verification code is correct, continue with your application
}
})
return nil
}

变量code取自用户输入验证码的文本字段。

关于ios - Cognito 用户已确认处于未确认状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45083484/

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