Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 尝试在使用AWS Cognito登录时获取JWT令牌_Ios_Swift_Amazon Web Services_Amazon Cognito_Serverless - Fatal编程技术网

Ios 尝试在使用AWS Cognito登录时获取JWT令牌

Ios 尝试在使用AWS Cognito登录时获取JWT令牌,ios,swift,amazon-web-services,amazon-cognito,serverless,Ios,Swift,Amazon Web Services,Amazon Cognito,Serverless,我是AWS Cognito新手,尝试在使用AWS Cognito登录时获取JWT令牌,但在使用Cognito成功登录后,我得到的是“会话” 这是我的示例代码 @IBAction func loginButtonTapped(_ sender: UIButton) { self.view.endEditing(true) let authDetails = AWSCognitoIdentityPasswordAuthenticationDetails(username: sel

我是AWS Cognito新手,尝试在使用AWS Cognito登录时获取JWT令牌,但在使用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 {

        }
    }
 }

}
extension LoginVC:AWSCognitoIdentityPasswordAuthentication{
public func getDetails(authenticationInput:AWSCognitoIdentityPasswordAuthenticationInput,passwordAuthenticationCompletionSource:AWSTaskCompletionSource){
self.passwordAuthenticationCompletion=passwordAuthenticationCompletionSource
DispatchQueue.main.async{
if((self.emailTextField?.text!.isEmpty)!){
self.emailTextField?.text=authenticationInput.lastKnownUsername
}
}
}
公共函数didCompleteTestepWithError(error:error?){
DispatchQueue.main.async{
如果错误!=nil{
让alertController=UIAlertController(标题:“无法登录”,
message:(错误!作为NSError).userInfo[“message”]作为?字符串,
preferredStyle:。警报)
let retryAction=UIAlertAction(标题:“重试”,样式:。默认,处理程序:nil)
alertController.addAction(retryAction)
self.present(alertController,动画:true,完成:nil)
}否则{
}
}
}
}
成功登录后,我将获得以下输出

{“ChallengeName”:“SMS\u MFA”、“ChallengeParameters”:{“CODE\u DELIVERY\u MEDIUM”:“SMS”、“CODE\u DELIVERY\u DESTINATION”:“++*********6385”},“Session”:"2.在过去的一年中,我发现了一个新的研究成果,一个新的研究成果,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个新的概念,一个概念,一个新的概念,一个新的概念(2-2-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6(2-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6-6 BF-n-ic0UoM8nQoL39UcNTlJ61Om第四部分是一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域的一个研究领域,一个研究领域的一个研究领域的一个研究领域,一个研究领域的一个研究领域的一个研究领域,一个研究领域的一个研究领域的一个研究领域,一个研究领域的一个研究领域的一个研究领域,一个研究领域的一个研究一个研究领域的一个研究领域的一个研究领域的一个研究,一个研究领域的一个研究领域的一个研究领域,一个研究领域的一个研究领域,一个领域的一个研究领域,一个研究的一个领域的一个研究领域,一个领域的一个领域的研究。一个研究一个领域的一个研究。一个研究。一个研究9MT2L9MSAGN_i52_soH1gtlNJeFhp4.研究结果表明,2-HF5 7 7 7在中国的一份研究报告中,在中国的一份研究报告中,一份Hf4 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六VLOTPU8VHSQK6YX3TKYTFIGLH4T96NE7或V9A6CY82.这两个词的意思是:一个词的意思意思是:这个词的意思是:一个词的意思是:一个词的意思意思是,这个词的意思是:该文的意思是:一个B-BBBBBBGGGGGGGGGGGBBBBBGGGGGGGGGGBBGGGGGZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBGGGGGGGGGGGBBBBBBBBBBBBBBBBBBGGGGGGGGGGGGGGDDTumWlypt2xFQOI0L3XAMOL5A8jsVD87N1mpL7UqozoYn9cb6oDv5tT7nfp2oTm4OIBOHDijBYhWFnCr2S\u QcNqpjpGNxxuRoxIGNAl9daTSp0hnuG6Xfl3V\u h2Y1ZNdZGKoevW\u EDPmkK0G”}

我无法获得可用于使用REST API的JWT令牌


有人能帮我一下吗?这里能做些什么?

我想你收到了发送给你的短信代码的回复。可能你需要用短信代码做另一个请求。我想你需要熟悉登录流程。在我看来,这好像启用了2fa。@mkowal87是正确的。质询名称
SMS\u MFA
表示你你应该要求用户提供他们通过短信收到的代码。一旦你知道代码是什么,你就应该调用这个API。iOS Cognito库中应该有一个函数调用这个API。谢谢,我通过Amplify Framework实现了同样的效果。我想你正在收到短信代码发送给你的响应。也许你需要这样做使用SMS代码的请求。我认为您需要熟悉登录流程。在我看来,这好像启用了2fa。@mkowal87是正确的。质询名称
SMS_MFA
表示您应该要求用户提供他们通过SMS收到的代码。一旦您知道代码是什么,您应该调用此API。中应该有一个函数调用此API的iOS Cognito库。谢谢,我通过Amplify框架实现了同样的功能