0

我的Android应用程序使用Cognito在AsyncTask中进行身份验证,并接收JWT令牌作为CognitoUserSession的一部分。然后使用setLogins()将其设置在CognitoCachingCredentialsProvider中。如何在Android中存储和检索AWS Cognito JWT令牌

我想在另一个AsyncTask中检索此JWT令牌。但是在CognitoCachingCredentialsProvider正在返回大小为0的地图。

取回令牌的最简单方法是什么?我应该再次将它存储在Shared Preferences中吗?

回答

1

SDK中的Get/SetLogins只是更新凭证提供程序内的映射,它们不会长期保存它。如果你需要在任意时间通过线程访问它,这将是一个合理的方法来完成它。否则,只需使用完全相同的凭证提供程序,它就会在那里。

0

CognitoCachingCredentialsProvider实际上是使用共享首选项来保存数据,但getLogins正在返回大小为0的散列。

坚持数据(JWT)的简单方法是在AsyncTaskdoInBackgraound方法中的共享首选项,并在需要的地方进行检索。

+1

正确。它使用共享偏好来保存信用卡/身份证件等等,但它不代表您存储代币。 –