【问题标题】:How to refresh the token in AWS Cognito如何在 AWS Cognito 中刷新令牌
【发布时间】:2023-03-16 21:00:01
【问题描述】:

我的应用程序使用 AWS Cognito。因此,使用 setLogins() 方法,我正在设置身份令牌以与 AWS Cognito 通信。在此之后,我可以使用使用身份令牌初始化的 mCognitoSyncManager 成功调用 AWS。

所以,我的问题是:

1) 如何使用新生成的令牌刷新令牌?

1.1) 我知道的一件事是,我已经使用新令牌初始化了 CredentialsProvider。但我不想那样做。

2.1) AWS 是否会要求我返回新令牌。如果是这样,它会怎么问我。

你能请任何人帮助我吗?过去两天我一直在努力解决它。

代码如下:

 void initCognito() {

     mCredentialsProvider = new CognitoCachingCredentialsProvider(mContext, IDENTITY_POOL_ID, Regions.US_EAST_2);

     Map<String, String> logins = credentialsProvider.getLogins();

     if (logins == null) {
        logins = new HashMap<String, String>();
     }

     logins.put(DOMAIN, "token");

     credentialsProvider.setLogins(logins);

     mCognitoSyncManager = new CognitoSyncManager(mContext, Regions.US_EAST_2, credentialsProvider);

 }

【问题讨论】:

  • 任何人都可以提供帮助。至少有一些建议?

标签: android amazon-web-services aws-sdk aws-cognito


【解决方案1】:

我对你的问题有点困惑,所以让我先根据我的理解总结你的问题。

您之前从您的登录系统获得了一个 JWT,并且能够成功地使用它来使用 Cognito 获取 AWS 凭证。现在,您的登录系统中有一个新的(或刷新的令牌),并希望将其与 Cognito 一起使用。

如果这是正确的,那么您需要做的是在使用credentialsProvider.setLogins 设置新令牌后调用credentialsProvider.refresh

请查看 API 文档(https://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/auth/CognitoCachingCredentialsProvider.html#setLogins-java.util.Map- 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-01
    • 2018-04-03
    • 2020-09-28
    • 2017-11-22
    • 2020-08-30
    • 1970-01-01
    • 2018-07-25
    • 2021-01-01
    相关资源
    最近更新 更多