我已经使用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网关资源成功进行身份验证。我的问题是我无法在任何其他时间获取令牌。我找不到用于尝试检索该令牌的正确对象,也找不到该令牌被缓存的位置,因此我可以在应用中的其他时间重用它。任何帮助将不胜感激!
答案 0 :(得分:0)
我设法找到了最好的方法-
AWSCognitoUserPoolsSignInProvider.sharedInstance().getUserPool().token().continueWith { (AWSTask) -> Any? in
if AWSTask.error == nil {
print("Token \(String(describing: AWSTask.result))")
}
return nil
}
这将通过awstask返回令牌。