【发布时间】:2018-02-22 21:06:12
【问题描述】:
我正在尝试刷新用户令牌,并且我正在一个“子”应用程序中执行此操作,该应用程序只能访问 idToken、accessToken、refreshToken 以及用户的密码信息。它是沙盒的,无法与主应用程序通信。
我已尝试使用以下代码运行initialAuth
let authParams = [
"REFRESH_TOKEN": user.refreshToken,
"SECRET_HASH": config.getClientSecret()
]
let provider = AWSCognitoIdentityProvider(forKey: config.getClientSecret())
let req = AWSCognitoIdentityProviderInitiateAuthRequest()
req?.authFlow = AWSCognitoIdentityProviderAuthFlowType.refreshToken
req?.clientId = config.getClientId()
req?.authParameters = authParams
provider.initiateAuth(req!).continueWith() {
resp in
print("I'm not running")
if (resp != nil) {
print(resp.error.debugDescription)
} else {
print(resp.result.debugDescription)
}
return nil
}
令人震惊的是, continueWith 代码块甚至根本没有运行,并且没有调用 print 语句“我没有运行”。我不知道该怎么做,因为这似乎正在做他们在 SDK 中所做的事情:https://github.com/aws/aws-sdk-ios/blob/master/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.m#L173
【问题讨论】:
-
您之前是否注册了一个 AWSCognitoIdentityProvider 对象,其中 clientSecret 作为密钥?即,您可以确认提供者!= nil 吗?
标签: ios swift amazon-web-services aws-sdk amazon-cognito