【问题标题】:AWSMobileClient: Access Token not refreshed automaticallyAWSMobileClient:访问令牌未自动刷新
【发布时间】:2020-04-05 19:43:27
【问题描述】:

文档说:“令牌会在必要时由库自动刷新。”。我打电话给

AWSMobileClient.getInstance().getTokens().getAccessToken().getTokenString(); 每次在使用 AccessToken 调用 API 之前。 这是我的 awsconfiguration 文件的样子

`{
"IdentityManager": {
    "Default": {}
  },
"CredentialsProvider": {
    "CognitoIdentity": {
        "Default": {
            "PoolId": "ap-xxxxx-1:2xxxxxx-xxxx-xxxx-xxxx-7xxxxxxxxxx",
            "Region": "ap-xxxxx-1"
        }
    }
},

"CognitoUserPool": {
    "Default": {
        "PoolId": "ap-xxxxx-1_xxxxxxxxx",
        "AppClientId": "xxxxxxxxxxxxxxxxxxxxx",
        "Region": "ap-xxxxx-1"
    }
}

一小时后,API 返回 401(身份验证错误)。 AWSMobileClient.getInstance().getTokens().getAccessToken().getTokenString(); 返回错误 AWSMobileClient: Tokens are invalid, please sign-in again. java.lang.Exception: No cached session.

我做错了吗? PS:我没有使用 Amplify CLI。

【问题讨论】:

    标签: android android-studio aws-sdk amazon-cognito


    【解决方案1】:

    所以问题是我从主线程调用 getTokens() 方法,它返回令牌而不刷新。然后我在 AWSMobileClient.getInstance().initialize(..) 调用中移动了 getTokens 调用,并在需要时获得了刷新的令牌。

    【讨论】:

      猜你喜欢
      • 2021-09-23
      • 2015-10-05
      • 1970-01-01
      • 2014-09-06
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 2019-06-29
      相关资源
      最近更新 更多