Попытка получить токен JWT при входе в систему с AWS Cognito - PullRequest
1 голос
/ 11 февраля 2020

Я новичок в AWS Cognito и пытаюсь получить токен JWT при входе в систему с AWS cognito, но я получаю "сеанс" после успешного входа в систему с Cognito.

Вот мой пример код.

 @IBAction func loginButtonTapped(_ sender: UIButton) {
    self.view.endEditing(true)

    let authDetails = AWSCognitoIdentityPasswordAuthenticationDetails(username: self.emailTextField!.text!, password: self.passwordTextField!.text! )
    self.passwordAuthenticationCompletion?.setResult(authDetails)
 }

Вот делегаты

extension LoginVC: AWSCognitoIdentityPasswordAuthentication {

public func getDetails(_ authenticationInput: AWSCognitoIdentityPasswordAuthenticationInput, passwordAuthenticationCompletionSource: AWSTaskCompletionSource<AWSCognitoIdentityPasswordAuthenticationDetails>) {
    self.passwordAuthenticationCompletion = passwordAuthenticationCompletionSource
    DispatchQueue.main.async {
        if ((self.emailTextField?.text!.isEmpty)!) {
            self.emailTextField?.text = authenticationInput.lastKnownUsername
        }
    }
}


public func didCompleteStepWithError(_ error: Error?) {
    DispatchQueue.main.async {
        if error != nil {
            let alertController = UIAlertController(title: "Cannot Login",
                                                    message: (error! as NSError).userInfo["message"] as? String,
                                                    preferredStyle: .alert)
            let retryAction = UIAlertAction(title: "Retry", style: .default, handler: nil)
            alertController.addAction(retryAction)

            self.present(alertController, animated: true, completion:  nil)
        } else {

        }
    }
 }

}

После успешного входа в систему я получаю следующий вывод

{"ChallengeName": "SMS_MFA", "ChallengeParameters": { "CODE_DELIVERY_DELIVERY_MEDIUM": "SMS", "CODE_DELIVERY_DESTINATION": "+ ******** 6385"}, "Session": "caSCYBgnPAGNlvCAB6ifDhb1JIKNDKIJaFkld_SSQxHkondo_X0Mg8Id4FR57HlfybONtP09VkYQ4M9dmyzqMtTg6fMYLy0i-gg2iK96J9npjk-UZawo1dZa_tnkokoODjojjpVItWpsn0K5ZzLtC5sT4ktuV7urxQfnMpyu3ra1H1CJqh9diwFw_tPYikJfPQhBdxgZvC2CXBFBB64lWiJNFV-yGs9sjztgFxSfv0hDCmbIKFIQyoYY8xqHWrm9ss-My0NeEKzG8fwDiV6MX5b0kMLpKzA32F2EEFhRmArP4xS_84nZiCg7PnOnmq-БПТП-н- ic0UoM8nQoL39UcNTlJ61OmVUxvKF5-qer8HXADHxUJOChKGlZpMT_igDypFo8ziLfFkAjDoN56X8UMUojgDhIslEnL-XcdoNuxCYxVAs3O01XrkQj3WJH2ZcTgqOd-GTGh_W-aGctfTIZMfeBdS39YTALABQxrR_GjRMaedVO8dPEnFaSDMXQXnbQ8wyYgudUDrRf4uyyR359MD01aw61PunBOlLAZGw_o5-1DFIlWM2MAEXz_qWcZ7W8NsAmv4-Tk9VpCI9oIcasmxJDfQ6LStrhXBTEM_oBQCLfQv9SCBaLFeyBqRzSIQyal-PdvII0IrVB8d83hmWjs7sc1cKqF9Mt2l9mSAGN_i52_soH1gtlNJeFhpdVwWpRVqBYJtq4mxkXR9Mv_ mzgdE2H7QvcXUSYX2NgeDkyszRxKGORw-4Hn1VDONI37ndn2HF5707UZTi3tN1Vw_Bhfm9uHBwSI9OEYRvTjKRJLa2AVlq8izN0zcvS7PBKgHyYg4vTDB_VrMjjJy4Qs3EywD46ed1BTc3BTBKoiEZXnYeKtNhOC8zmNM_WnruHVfnBghfAJZ-CoYrGv04ip3ZwnWZOu1ChmbJs4E0_7YqmG-495HD8S7WnUnXSJD3cK4wuz0sA7m_iixGdyYifhCcZGdZwr0Dy5MXGZnjLKQTSj6X2vlOtPu8vhsqK6Yx3TkytfIGLH4T96Ne7orV9a6CY8_DYdwBEJmg3T0vJyZXSHHsydXgtUqeQb0XRmUX-AHMlB-bZBR2oItr_FeSebVtC7GuaYgqYqbOuxMxDRWZPS7g-BnbQhVgDT1UwQqNV8Hu-KYLbScJCkzVqzaOeMr2TJp74WXch1cHtTF9UnbXSuNylp_lZBsyAhz1VNH-WCM7BhMp50cQvaOJyXmW0kB2krp5NIYXlhFL92Sntkubqcs8ivZvKk72dr67upeQ1B0I9V8PFo1r47iazeTUVIoF-ncmLaf5VApMT555d_0kCeSnhd-Xp4Olh4cARLnKuVKemkmc_D97TnTQKLac16H609XOJXMLcGDDtUMwLYpt2XfQOI0l3xAmoL5A8jsVD87N1mpL7UqozoYn9cb6oDv5tT7nfp2oTm4OIBOHDijBYhWFnCr2S_QcNqpjpGNxxuRoxIGNAl9daTSp0hnuG6Xfl3V_h2Y1ZNdZGKoevW_EDPmkK0G "}

Я не может получить JWT маркер, который я могу использовать для потребления моего REST APIs.

Может ли кто-нибудь помочь мне здесь, что здесь можно сделать?

...