AWS Cognito Auth令牌-Swift

时间:2018-10-16 06:19:05

标签: amazon-cognito

我已经使用awsmplify成功创建了一个Cognito用户池和身份池,并且能够使用提供的authUI使用记录的过程登录。登录后,我可以通过提供者响应来检索jwt令牌...。(下面没有完成,因此请忽略任何语法错误)

AWSAuthUIViewController.presentViewController(with: self.navigationController!,
                                       configuration: nil,
                                       completionHandler: { (provider: AWSSignInProvider, error: Error?) in
                                        if error != nil {
                                            print("Error occurred: \(String(describing: error))")
                                        } else {
                                            // Sign iuccessful.
                                            print("sign in - token = \(provider.token())")

                                            var tokentask = provider.token()
                                            var output = tokentask.result

然后,我可以使用该令牌(输出)针对API网关资源成功进行身份验证。我的问题是我无法在任何其他时间获取令牌。我找不到用于尝试检索该令牌的正确对象,也找不到该令牌被缓存的位置,因此我可以在应用中的其他时间重用它。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我设法找到了最好的方法-

    AWSCognitoUserPoolsSignInProvider.sharedInstance().getUserPool().token().continueWith { (AWSTask) -> Any? in
        if AWSTask.error == nil {
            print("Token \(String(describing: AWSTask.result))")

    }
    return nil
}

这将通过awstask返回令牌。