从iOS成功登录Amazon Cognito后,如何进入AccessToken和IdToken

Gar*_*ght 2 amazon-web-services ios aws-sdk swift3

我一直在使用以下示例将cognito登录引入我的iOS应用程序:

https://github.com/awslabs/aws-sdk-ios-samples/tree/master/CognitoYourUserPools-Sample

这工作得很好,现在我有了一个AWSCognitoIdentityUserPool对象,可以调用该currentUser()方法来访问用户。

我正在努力寻找的是如何提取AccessToken和的方法IdToken

在android等效项中,的onSuccess方法AuthenticationHandler具有一个CognitoUserSession参数,而参数又具有getIdToken()getAccessToken()

令人沮丧的是,我AuthenticationResult在输出窗口中看到它们以json格式输出,但我只是不知道如何以编程方式访问它们?

Gar*_*ght 5

现在想通了:

func getSession(){
    self.user?.getSession().continueOnSuccessWith { (getSessionTask) -> AnyObject? in
        DispatchQueue.main.async(execute: {
            let getSessionResult = getSessionTask.result
            self.idToken = getSessionResult?.idToken?.tokenString
            self.accessToken = getSessionResult?.accessToken?.tokenString

        })
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 对于那些关注我并像我一样想知道从哪里获取 `self.user` 属性的人,它来自这里 `AWSCognitoIdentityUserPool.default().currentUser()` (Swift 5) (2认同)