Я работал с UserPools на AWS Mobile Hub. Мне удалось войти в систему с такими поставщиками, как Facebook и G +. Однако при попытке войти в систему с помощью пользовательских пулов AWS мне не удается это сделать. Я могу успешно зарегистрироваться и отлично подключиться к UserPool (он распознает неправильные пароли 7 несуществующих пользователей). Когда я вхожу в систему с помощью метода, показанного ниже, я получаю сообщение об ошибке:
«Обнаружена 1 ошибка проверки: значение null в 'userName' не удовлетворяет ограничению: элемент не должен быть пустым»
Я действительно не знаю, что происходит, потому что имя пользователя и пароль на самом деле правильные! (Даже если жестко запрограммирован). Здесь вы можете увидеть код, который я использую для входа в систему:
let pool = AWSCognitoIdentityUserPool(forKey: "UserPool")
let user: AWSCognitoIdentityUser = pool.getUser(textFieldEmail.text!)
user.getSession(textFieldEmail.text!, password: textFieldPassword.text!, validationData:nil, scopes: nil).continueWithBlock { (task:AWSTask) -> AnyObject? in
if task.error == nil {
print("Got: \(task.result)")
} else {
print("Error while logging in: \(task.error?.userInfo["__type"]) with message: \(task.error?.userInfo["message"])")
}
return nil
}
Я был бы очень признателен за помощь! Я попытался добавить информацию о данных проверки. Вещи как:
let userName:AWSCognitoIdentityUserAttributeType = AWSCognitoIdentityUserAttributeType()
userName.name = "userName"
iserName.value = textFieldEmail.text
Но опять же не работает.
Спасибо!