iOS Swift явно войдет в AWS Cognito - PullRequest
0 голосов
/ 18 сентября 2019

Я пытаюсь явно войти в AWS Cognito на iOS в Swift.

В большинстве примеров показан делегированный подход к отображению знака в пользовательском интерфейсе при вызове user.getDetails, но я хотел бы простопоказать мой вход в пользовательский интерфейс и явный вход с помощью user.getSession.

Мой пул пользователей и клиент приложения настроены в консоли AWS.

В коде задана конфигурация службы по умолчанию.

var serviceManager = AWSServiceManager.default()!
var serviceConfiguration = AWSServiceConfiguration(region: .APNortheast1, credentialsProvider: nil)
serviceManager.defaultServiceConfiguration = serviceConfiguration

Конфигурация пула настроена в коде с помощью моих клиентов, clientsecret и poolid.

let poolConfiguration = AWSCognitoIdentityUserPoolConfiguration(clientId: "MY_ID", clientSecret: "MY_SECRET", poolId: "POOL_ID")

AWSCognitoIdentityUserPool.register(with: AWSManager.shared().serviceConfiguration, userPoolConfiguration: poolConfiguration, forKey: "UserPool")
userPool = AWSCognitoIdentityUserPool(forKey: "UserPool")

Однако при попытке вызвать сеанс get результат задачи всегда равен nil.

let cognitoUser = AuthenticationManager.shared().userPool.currentUser()
let getSessionTask = cognitoUser?.getSession(email, password: password, validationData: nil)

getSessionTask?.continueWith(block: { (task) -> Any? in
  print("result: \(String(describing: task.result))")
  if let result = task.result {
    print("user signed in? \(cognitoUser?.isSignedIn)")
  }
  return nil
}, cancellationToken: nil)

Как правильно войти в систему и проверить, работает ли знак или была ли ошибка, например, неверные учетные данные?

...