amplify-android icon indicating copy to clipboard operation
amplify-android copied to clipboard

Signed in users no longer able to refresh session after upgrade

Open Jeffrey-Chau-Leo opened this issue 5 months ago • 15 comments

Before opening, please confirm:

Language and Async Model

Kotlin - Coroutines

Amplify Categories

Authentication

Gradle script dependencies

com.amplifyframework:core-kotlin:2.29.0
com.amplifyframework:aws-auth-cognito:2.29.0

Environment information

------------------------------------------------------------
Gradle 8.13
------------------------------------------------------------

Build time:    2025-02-25 09:22:14 UTC
Revision:      073314332697ba45c16c0a0ce1891fa6794179ff

Kotlin:        2.0.21
Groovy:        3.0.22
Ant:           Apache Ant(TM) version 1.10.15 compiled on August 25 2024
Launcher JVM:  22.0.1 (Oracle Corporation 22.0.1+8-16)
Daemon JVM:    /Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents/Home (no JDK specified, using current Java home)
OS:            Mac OS X 15.5 aarch64

Please include any relevant guides or documentation you're referencing

No response

Describe the bug

We are have recently upgraded from version 2.14.10 to 2.29.1.

Post upgrade, we are seeing an escalation of two UnknownExceptions thrown for our users when calling fetchAuthSession(), namely:

  • ConfigurationException: Identity Pool not configured
  • Exception: Credentials empty, cannot refresh

For additional context, we do not have have any identity pools set up hence no CredentialsProvider in our config file.

We would like to know why these could be thrown and what the resolution is for the user to recover from such states

We cannot simply sign out users who get any AuthException when fetchAuthSession() throws as it can also be due network connectivity errors.

Reproduction steps (if applicable)

No response

Code Snippet

Log output

Configuration File

{
  "auth": {
    "plugins": {
      "awsCognitoAuthPlugin": {
        "IdentityManager": {
          "Default": {}
        },
        "CognitoUserPool": {
          "Default": {
            "PoolId": omitted,
            "AppClientId": omitted,
            "Region": omitted
          }
        },
        "Auth": {
          "Default": {
            "authenticationFlowType": "USER_SRP_AUTH",
            "OAuth": {
              "WebDomain": omitted,
              "AppClientId": omitted,
              "SignInRedirectURI": omitted,
              "SignOutRedirectURI": omitted,
              "Scopes": [
                "email",
                "openid",
                "profile"
              ]
            }
          }
        }
      }
    }
  }
}

GraphQL Schema

Additional information and screenshots

Stacktrace 1

com.amplifyframework.auth.exceptions.ConfigurationException: Identity Pool not configured.
    at com.amplifyframework.auth.cognito.actions.AuthorizationCognitoActions$initializeFetchUnAuthSession$$inlined$invoke$1.execute(Action.kt:72)
    at com.amplifyframework.statemachine.ConcurrentEffectExecutor$execute$1$1.invokeSuspend(ConcurrentEffectExecutor.kt:26)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
com.amplifyframework.auth.exceptions.UnknownException: Fetch auth session failed.
    at com.amplifyframework.auth.cognito.RealAWSCognitoAuthPlugin$_fetchAuthSession$1.invoke(RealAWSCognitoAuthPlugin.kt:1108)
    at com.amplifyframework.auth.cognito.RealAWSCognitoAuthPlugin$_fetchAuthSession$1.invoke(RealAWSCognitoAuthPlugin.kt:1081)
    at com.amplifyframework.statemachine.StateMachine.notifySubscribers(StateMachine.kt:185)
    at com.amplifyframework.statemachine.StateMachine.process(StateMachine.kt:200)
    at com.amplifyframework.statemachine.StateMachine.access$process(StateMachine.kt:55)
    at com.amplifyframework.statemachine.StateMachine$send$1.invokeSuspend(StateMachine.kt:169)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:524)
    at java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:348)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
    at java.lang.Thread.run(Thread.java:1119)

Stacktrace 2

java.lang.Exception: Credentials empty, cannot refresh.
    at com.amplifyframework.auth.cognito.actions.AuthorizationCognitoActions$initiateRefreshSessionAction$$inlined$invoke$1.execute(Action.kt:86)
    at com.amplifyframework.statemachine.ConcurrentEffectExecutor$execute$1$1.invokeSuspend(ConcurrentEffectExecutor.kt:26)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
com.amplifyframework.auth.exceptions.UnknownException: Fetch auth session failed.
    at com.amplifyframework.auth.cognito.RealAWSCognitoAuthPlugin$_fetchAuthSession$1.invoke(RealAWSCognitoAuthPlugin.kt:1108)
    at com.amplifyframework.auth.cognito.RealAWSCognitoAuthPlugin$_fetchAuthSession$1.invoke(RealAWSCognitoAuthPlugin.kt:1081)
    at com.amplifyframework.statemachine.StateMachine.notifySubscribers(StateMachine.kt:185)
    at com.amplifyframework.statemachine.StateMachine.process(StateMachine.kt:200)
    at com.amplifyframework.statemachine.StateMachine.access$process(StateMachine.kt:55)
    at com.amplifyframework.statemachine.StateMachine$send$1.invokeSuspend(StateMachine.kt:169)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
    at java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
    at java.lang.Thread.run(Thread.java:1012)

Another log we get before stacktrace 2

keyset not found, will generate a new one

{
    throwable: can't read keyset; the pref value __androidx_security_crypto_encrypted_prefs_value_keyset__ does not exist
}

Cloud Trail logs

   "eventTime": omitted,
      "eventSource": "cognito-idp.amazonaws.com",
      "eventName": "InitiateAuth",
      "awsRegion": omitted,
      "sourceIPAddress": omitted",
      "userAgent": omitted,
      "errorCode": "NotAuthorizedException",
      "errorMessage": "Refresh Token has expired",
      "requestParameters": {
        "authFlow": "REFRESH_TOKEN",
        "authParameters": omitted,
        "clientId": omitted,
        "userContextData": omitted
      },

Jeffrey-Chau-Leo avatar Aug 19 '25 05:08 Jeffrey-Chau-Leo

Hello @Jeffrey-Chau-Leo, did you enable refresh token rotation in your AWS Console? If so Amplify Android does not support GetTokensFromRefreshToken yet so it will break the REFRESH_TOKEN_AUTH flow used to refresh access tokens.

Refresh token rotation isn't compatible with the authentication flow REFRESH_TOKEN_AUTH. To implement refresh token rotation, you must disable this authentication flow in your app client and design your application to submit token-refresh requests with the GetTokensFromRefreshToken API operation or the equivalent SDK method.

You can find this setting here: AWS Console -> Amazon Cognito -> User pools -> [YOUR_USER_POOL] -> App clients -> [YOUR_APP_CLIENT] -> edit

tyllark avatar Aug 19 '25 21:08 tyllark

Hey @tyllark, I just checked, the refresh token rotation checkbox in AWS console is disabled.

We are currently on the Lite plan, so the refresh token rotation option isn't available for us.

Jeffrey-Chau-Leo avatar Aug 19 '25 22:08 Jeffrey-Chau-Leo

Thank you for confirming @Jeffrey-Chau-Leo. A team member will have a look and get back to you.

tyllark avatar Aug 19 '25 22:08 tyllark

@Jeffrey-Chau-Leo Is this something that you can easily replicate? If so, could you add Amplify.addPlugin(AndroidLoggingPlugin(LogLevel.VERBOSE)) as the first configured Amplify plugin and post the results?

tylerjroach avatar Aug 20 '25 13:08 tylerjroach

@tylerjroach Unfortunately, we haven't had any success in replicating this ourselves, we only found out through adding additional logs around fetchAuthSession() call sites. We have our logging plugin currently set on DEBUG, but can change it to VERBOSE in the meantime and see if anything comes up.

Jeffrey-Chau-Leo avatar Aug 20 '25 22:08 Jeffrey-Chau-Leo

These verbose logs leads up to stacktrace 2 under additional info (w/ package name omitted)

2025-08-21 08:19:32.623  4949-4982  V  Auth State Change: NotConfigured(id=)
2025-08-21 08:19:32.651  4949-5006  V  Auth State Change: ConfiguringAuth(id=)
2025-08-21 08:19:32.652  4949-4981  V  InitAuthConfig Starting execution
2025-08-21 08:19:32.658  4949-5013  V  Credential Store State Change: MigratingLegacyStore(id=)
2025-08-21 08:19:32.658  4949-4981  V  Credential Store State Change: NotConfigured(id=)
2025-08-21 08:19:32.660  4949-4981  V  MigrateLegacyCredentials Starting execution
2025-08-21 08:19:32.716  4949-4981  V  MigrateLegacyCredentials Sending event LoadCredentialStore
2025-08-21 08:19:32.717  4949-5013  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-21 08:19:32.717  4949-4981  V  LoadCredentialStore Starting execution
2025-08-21 08:19:32.826  4949-4981  AndroidKeysetManager  W  keyset not found, will generate a new one (Ask Gemini)
java.io.FileNotFoundException: can't read keyset; the pref value __androidx_security_crypto_encrypted_prefs_key_keyset__ does not exist
	at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readPref(SharedPrefKeysetReader.java:71)
	at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readEncrypted(SharedPrefKeysetReader.java:89)
	at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:105)
	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:311)
	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:287)
	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:238)
	at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:123)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getSharedPreferencesOrThrow(EncryptedKeyValueRepository.kt:112)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getSharedPreferencesOrNull(EncryptedKeyValueRepository.kt:106)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.openKeystoreWithAmplifyMasterKey(EncryptedKeyValueRepository.kt:82)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getOrCreateSharedPreferences(EncryptedKeyValueRepository.kt:64)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.access$getOrCreateSharedPreferences(EncryptedKeyValueRepository.kt:32)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository$sharedPreferences$2.invoke(EncryptedKeyValueRepository.kt:48)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository$sharedPreferences$2.invoke(EncryptedKeyValueRepository.kt:48)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:83)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getSharedPreferences$com_amplifyframework_core_release(EncryptedKeyValueRepository.kt:48)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository$repository$2.invoke(AmplifyKeyValueRepository.kt:31)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository$repository$2.invoke(AmplifyKeyValueRepository.kt:27)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:83)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository.getRepository(AmplifyKeyValueRepository.kt:27)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository.get(AmplifyKeyValueRepository.kt:39)
	at com.amplifyframework.auth.cognito.data.AWSCognitoAuthCredentialStore.retrieveCredential(AWSCognitoAuthCredentialStore.kt:61)
	at com.amplifyframework.auth.cognito.actions.CredentialStoreCognitoActions$loadCredentialStoreAction$$inlined$invoke$1.execute(Action.kt:70)
	at com.amplifyframework.statemachine.ConcurrentEffectExecutor$execute$1$1.invokeSuspend(ConcurrentEffectExecutor.kt:26)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
2025-08-21 08:19:32.844  4949-4981  AndroidKeysetManager  W  keyset not found, will generate a new one (Ask Gemini)
java.io.FileNotFoundException: can't read keyset; the pref value __androidx_security_crypto_encrypted_prefs_value_keyset__ does not exist
	at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readPref(SharedPrefKeysetReader.java:71)
	at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readEncrypted(SharedPrefKeysetReader.java:89)
	at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:105)
	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:311)
	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:287)
	at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:238)
	at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:128)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getSharedPreferencesOrThrow(EncryptedKeyValueRepository.kt:112)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getSharedPreferencesOrNull(EncryptedKeyValueRepository.kt:106)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.openKeystoreWithAmplifyMasterKey(EncryptedKeyValueRepository.kt:82)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getOrCreateSharedPreferences(EncryptedKeyValueRepository.kt:64)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.access$getOrCreateSharedPreferences(EncryptedKeyValueRepository.kt:32)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository$sharedPreferences$2.invoke(EncryptedKeyValueRepository.kt:48)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository$sharedPreferences$2.invoke(EncryptedKeyValueRepository.kt:48)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:83)
	at com.amplifyframework.core.store.EncryptedKeyValueRepository.getSharedPreferences$com_amplifyframework_core_release(EncryptedKeyValueRepository.kt:48)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository$repository$2.invoke(AmplifyKeyValueRepository.kt:31)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository$repository$2.invoke(AmplifyKeyValueRepository.kt:27)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:83)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository.getRepository(AmplifyKeyValueRepository.kt:27)
	at com.amplifyframework.core.store.AmplifyKeyValueRepository.get(AmplifyKeyValueRepository.kt:39)
	at com.amplifyframework.auth.cognito.data.AWSCognitoAuthCredentialStore.retrieveCredential(AWSCognitoAuthCredentialStore.kt:61)
	at com.amplifyframework.auth.cognito.actions.CredentialStoreCognitoActions$loadCredentialStoreAction$$inlined$invoke$1.execute(Action.kt:70)
	at com.amplifyframework.statemachine.ConcurrentEffectExecutor$execute$1$1.invokeSuspend(ConcurrentEffectExecutor.kt:26)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:829)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
2025-08-21 08:19:32.870  4949-4981  V  LoadCredentialStore Sending event CompletedOperation
2025-08-21 08:19:32.871  4949-5013  V  Credential Store State Change: Success(storedCredentials=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@9179171)
2025-08-21 08:19:32.880  4949-4983  V  MoveToIdleState Starting execution
2025-08-21 08:19:32.880  4949-4983  V  MoveToIdleState Sending event MoveToIdleState
2025-08-21 08:19:32.880  4949-5013  V  Credential Store State Change: Idle(id=)
2025-08-21 08:19:32.880  4949-4983  V  InitAuthConfig Sending event ConfigureAuthentication
2025-08-21 08:19:32.882  4949-5006  V  Auth State Change: ConfiguringAuthentication(authNState=NotConfigured(id=))
2025-08-21 08:19:32.882  4949-4983  V  InitAuthNConfig Starting execution
2025-08-21 08:19:32.882  4949-4983  V  InitAuthNConfig Sending event Configure
2025-08-21 08:19:32.883  4949-5006  V  Auth State Change: ConfiguringAuthentication(authNState=Configured(id=))
2025-08-21 08:19:32.883  4949-4983  V  ConfigureAuthN Starting execution
2025-08-21 08:19:32.883  4949-4983  V  ConfigureAuthN Sending event InitializedSignedOut
2025-08-21 08:19:32.883  4949-4983  V  ConfigureAuthN Sending event ConfiguredAuthentication
2025-08-21 08:19:32.884  4949-5006  V  Auth State Change: ConfiguringAuthentication(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)))
2025-08-21 08:19:32.889  4949-5006  V  Auth State Change: ConfiguringAuthorization(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=NotConfigured(id=))
2025-08-21 08:19:32.889  4949-4983  V  InitAuthZConfig Starting execution
2025-08-21 08:19:32.890  4949-4983  V  InitAuthZConfig Sending event Configure
2025-08-21 08:19:32.891  4949-5006  V  Auth State Change: ConfiguringAuthorization(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Configured(id=))
2025-08-21 08:19:32.892  4949-4983  V  ConfigureAuthZ Starting execution
2025-08-21 08:19:32.892  4949-4983  V  ConfigureAuthZ Sending event ConfiguredAuthorization
2025-08-21 08:19:32.893  4949-5006  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Configured(id=), authSignUpState=NotStarted(id=))
2025-08-21 08:19:32.899  4949-5006  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=FetchingUnAuthSession(fetchAuthSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-21 08:19:32.899  4949-4983  V  InitFetchUnAuthSession Starting execution
2025-08-21 08:19:32.899  4949-4983  V  InitFetchUnAuthSession Sending event ThrowError
2025-08-21 08:19:32.900  4949-5006  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Error(exception=SessionError(exception=ConfigurationException{message=Identity Pool not configured., cause=null, recoverySuggestion=Please check amplifyconfiguration.json file.}, amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@9179171)), authSignUpState=NotStarted(id=))
2025-08-21 08:19:32.929  4949-5006  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=RefreshingSession(existingCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@9179171, refreshSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-21 08:19:32.929  4949-4981  V  InitiateRefreshSession Starting execution
2025-08-21 08:19:32.929  4949-4981  V  InitiateRefreshSession Sending event ThrowError
2025-08-21 08:19:32.932  4949-5006  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Error(exception=SessionError(exception=java.lang.Exception: Credentials empty, cannot refresh., amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@9179171)), authSignUpState=NotStarted(id=))
2025-08-21 08:19:32.936  4949-5006  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=RefreshingSession(existingCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@9179171, refreshSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-21 08:19:32.936  4949-4981  V  InitiateRefreshSession Starting execution
2025-08-21 08:19:32.936  4949-4981  V  InitiateRefreshSession Sending event ThrowError
2025-08-21 08:19:32.937  4949-5006  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Error(exception=SessionError(exception=java.lang.Exception: Credentials empty, cannot refresh., amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@9179171)), authSignUpState=NotStarted(id=))

Jeffrey-Chau-Leo avatar Aug 20 '25 22:08 Jeffrey-Chau-Leo

Verbose logs for stacktrace 1

2025-08-21 08:19:35.561  5146-5220  amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Error(exception=SessionError(exception=java.lang.Exception: Credentials empty, cannot refresh., amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@bf46a83)), authSignUpState=NotStarted(id=))
2025-08-21 08:19:35.563  5146-5220  amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SigningOut(signOutState=NotStarted(id=)), authZState=SigningOut(amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@bf46a83), authSignUpState=NotStarted(id=))
2025-08-21 08:19:35.563  5146-5204  amplify:aw...AuthPlugin  V  InitSignOut Starting execution
2025-08-21 08:19:35.563  5146-5204  amplify:aw...AuthPlugin  V  InitSignOut Sending event SignOutLocally
2025-08-21 08:19:35.564  5146-5220  amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SigningOut(signOutState=SigningOutLocally(signedInData=null)), authZState=StoringCredentials(amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@bf46a83), authSignUpState=NotStarted(id=))
2025-08-21 08:19:35.564  5146-5199  amplify:aw...AuthPlugin  V  LocalSignOut Starting execution
2025-08-21 08:19:35.564  5146-5202  amplify:aw...AuthPlugin  V  PersistCredentials Starting execution
2025-08-21 08:19:35.564  5146-5199  amplify:aw...AuthPlugin  V  LocalSignOut Sending event SignedOutSuccess
2025-08-21 08:19:35.564  5146-5220  amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=StoringCredentials(amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@bf46a83), authSignUpState=NotStarted(id=))
2025-08-21 08:19:35.565  5146-5225  amplify:aw...AuthPlugin  V  Credential Store State Change: StoringCredentials(id=)
2025-08-21 08:19:35.565  5146-5202  amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-21 08:19:35.566  5146-5200  amplify:aw...AuthPlugin  V  StoreCredentials Starting execution
2025-08-21 08:19:35.577  5146-5200  amplify:aw...AuthPlugin  V  StoreCredentials Sending event CompletedOperation
2025-08-21 08:19:35.578  5146-5225  amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@bf46a83)
2025-08-21 08:19:35.578  5146-5230  amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-21 08:19:35.579  5146-5230  amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-21 08:19:35.580  5146-5225  amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-21 08:19:35.580  5146-5209  amplify:aw...AuthPlugin  V  PersistCredentials Sending event ReceivedCachedCredentials
2025-08-21 08:19:35.580  5146-5220  amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Configured(id=), authSignUpState=NotStarted(id=))
2025-08-21 08:19:35.743  5146-5220  amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=FetchingUnAuthSession(fetchAuthSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-21 08:19:35.743  5146-5231  amplify:aw...AuthPlugin  V  InitFetchUnAuthSession Starting execution
2025-08-21 08:19:35.743  5146-5231  amplify:aw...AuthPlugin  V  InitFetchUnAuthSession Sending event ThrowError
2025-08-21 08:19:35.744  5146-5220  amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Error(exception=SessionError(exception=ConfigurationException{message=Identity Pool not configured., cause=null, recoverySuggestion=Please check amplifyconfiguration.json file.}, amplifyCredential=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@bf46a83)), authSignUpState=NotStarted(id=))

Jeffrey-Chau-Leo avatar Aug 20 '25 22:08 Jeffrey-Chau-Leo

I'm not seeing any issues from the state machine, but what I can't see from the logs is the fetchAuthSession result that was returned to you. From the logs, it looks like this is coming from a clean app state with no user sign in.

Post upgrade, we are seeing an escalation of two UnknownExceptions thrown for our users when calling fetchAuthSession(), namely: ConfigurationException: Identity Pool not configured Exception: Credentials empty, cannot refresh

Where are you seeing these exceptions. You should expect to see exceptions for identityIdResult and awsCredentialsResult as these are only available for Identity Pools.

Could you post logs of:

  1. A user signing in
  2. Calling fetchAuthSession(forceRefresh=true)

I'd like to see what the result for fetchAuthSession looks like. As for the result, you will only have successful data for the user pool values (isSignedIn, userSubResult, and userPoolTokensResult).

/**
 * Cognito extension of AuthSession containing AWS Cognito specific tokens.
 *
 * @param isSignedIn Are you currently in a signed in state (an AuthN indicator to be technical)
 * @param identityIdResult The id which comes from Identity Pools.
 * @param awsCredentialsResult The credentials which come from Identity Pool.
 * @param userSubResult The id which comes from User Pools.
 * @param userPoolTokensResult The tokens which come from User Pools (access, id, refresh tokens).
 */
data class AWSCognitoAuthSession

tylerjroach avatar Aug 21 '25 12:08 tylerjroach

@tylerjroach

The exceptions are from the error in userSubResult in fetchAuthSession as AWSCognitoAuthSession without forceRefresh set. We don't use the values in identityIdResult or awsCredentialsResult hence, we don't check their errors specifically.

Below are the logs of a user signing in and calling fetchAuthSession with the forceRefresh option set to true.

2025-08-25 08:51:12.611 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SigningIn(signInState=NotStarted(id=)), authZState=SigningIn(id=), authSignUpState=NotStarted(id=))
2025-08-25 08:51:12.611 15679-15765 amplify:aw...AuthPlugin  V  InitiateSignInAction Starting execution
2025-08-25 08:51:12.611 15679-15765 amplify:aw...AuthPlugin  V  InitiateSignInAction Sending event InitiateSignInWithSRP
2025-08-25 08:51:12.612 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SigningIn(signInState=SigningInWithSRP(srpSignInState=NotStarted(id=))), authZState=SigningIn(id=), authSignUpState=NotStarted(id=))
2025-08-25 08:51:12.613 15679-15765 amplify:aw...AuthPlugin  V  StartSRPAuth Starting execution
2025-08-25 08:51:12.613 15679-15765 amplify:aw...AuthPlugin  V  StartSRPAuth Sending event InitiateSRP
2025-08-25 08:51:12.616 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SigningIn(signInState=SigningInWithSRP(srpSignInState=InitiatingSRPA(signInMethod=ApiBased(authType=USER_SRP_AUTH)))), authZState=SigningIn(id=), authSignUpState=NotStarted(id=))
2025-08-25 08:51:12.616 15679-15765 amplify:aw...AuthPlugin  V  InitSRPAuth Starting execution
2025-08-25 08:51:12.635 15679-15765 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:12.635 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:12.636 15679-15765 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:12.638 15679-15765 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:12.638 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=ASFDevice(id=4ee7f142-0d3e-4a34-897d-4d3898ab2b8a:1756017952062))
2025-08-25 08:51:12.639 15679-15765 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:12.639 15679-15765 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:12.639 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:12.643 15679-15765 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:12.643 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:12.643 15679-15765 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:12.645 15679-15765 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:12.645 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=DeviceData(deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba))
2025-08-25 08:51:12.645 15679-15765 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:12.645 15679-15765 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:12.646 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:14.135 15679-15696 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:14.136 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:14.136 15679-15696 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:14.136 15679-15696 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:14.137 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=DeviceData(deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba))
2025-08-25 08:51:14.137 15679-15696 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:14.137 15679-15696 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:14.137 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:14.137 15679-15696 amplify:aw...AuthPlugin  V  InitSRPAuth Sending event RespondPasswordVerifier
2025-08-25 08:51:14.139 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SigningIn(signInState=SigningInWithSRP(srpSignInState=RespondingPasswordVerifier(id=))), authZState=SigningIn(id=), authSignUpState=NotStarted(id=))
2025-08-25 08:51:14.139 15679-15696 amplify:aw...AuthPlugin  V  VerifyPasswordSRP Starting execution
2025-08-25 08:51:14.143 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:14.144 15679-15696 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:14.144 15679-15696 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:14.144 15679-15696 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:14.145 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=ASFDevice(id=4ee7f142-0d3e-4a34-897d-4d3898ab2b8a:1756017952062))
2025-08-25 08:51:14.145 15679-15696 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:14.145 15679-15696 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:14.145 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:15.529 15679-15765 amplify:aw...AuthPlugin  V  VerifyPasswordSRP Sending event SignInCompleted
2025-08-25 08:51:15.530 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=FetchingAuthSession(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), fetchAuthSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:15.530 15679-15765 amplify:aw...AuthPlugin  V  InitFetchAuthSession Starting execution
2025-08-25 08:51:15.530 15679-15765 amplify:aw...AuthPlugin  V  InitFetchAuthSession Sending event ThrowError
2025-08-25 08:51:15.531 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=StoringCredentials(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:15.531 15679-15765 amplify:aw...AuthPlugin  V  PersistCredentials Starting execution
2025-08-25 08:51:15.532 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: StoringCredentials(id=)
2025-08-25 08:51:15.532 15679-15696 amplify:aw...AuthPlugin  V  StoreCredentials Starting execution
2025-08-25 08:51:15.532 15679-15765 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:15.536 15679-15696 amplify:aw...AuthPlugin  V  StoreCredentials Sending event CompletedOperation
2025-08-25 08:51:15.536 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))))
2025-08-25 08:51:15.538 15679-15696 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:15.538 15679-15696 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:15.538 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:15.539 15679-15696 amplify:aw...AuthPlugin  V  PersistCredentials Sending event ReceivedCachedCredentials
2025-08-25 08:51:15.539 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=SessionEstablished(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:15.544 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:15.544 15679-15713 amplify:aw...AuthPlugin  V  InitiateRefreshSession Starting execution
2025-08-25 08:51:15.544 15679-15713 amplify:aw...AuthPlugin  V  InitiateRefreshSession Sending event RefreshUserPoolTokens
2025-08-25 08:51:15.545 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=RefreshingUserPoolTokens(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:15.545 15679-15715 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Starting execution
2025-08-25 08:51:15.546 15679-15715 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:15.546 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:15.547 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:15.550 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:15.550 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=ASFDevice(id=4ee7f142-0d3e-4a34-897d-4d3898ab2b8a:1756017952062))
2025-08-25 08:51:15.550 15679-15695 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:15.550 15679-15695 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:15.550 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:15.552 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:15.552 15679-15695 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:15.552 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:15.552 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:15.552 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=DeviceData(deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba))
2025-08-25 08:51:15.552 15679-15695 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:15.552 15679-15695 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:15.553 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:17.006 15679-15713 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Sending event Refreshed
2025-08-25 08:51:17.006 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=Refreshed(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:17.007 15679-15713 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Starting execution
2025-08-25 08:51:17.007 15679-15713 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Sending event Refreshed
2025-08-25 08:51:17.008 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=StoringCredentials(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:17.009 15679-15713 amplify:aw...AuthPlugin  V  PersistCredentials Starting execution
2025-08-25 08:51:17.009 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: StoringCredentials(id=)
2025-08-25 08:51:17.009 15679-15713 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:17.010 15679-15713 amplify:aw...AuthPlugin  V  StoreCredentials Starting execution
2025-08-25 08:51:17.013 15679-15713 amplify:aw...AuthPlugin  V  StoreCredentials Sending event CompletedOperation
2025-08-25 08:51:17.013 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))))
2025-08-25 08:51:17.014 15679-15713 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:17.014 15679-15713 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:17.015 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:17.015 15679-15713 amplify:aw...AuthPlugin  V  PersistCredentials Sending event ReceivedCachedCredentials
2025-08-25 08:51:17.016 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=SessionEstablished(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:17.019 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:17.019 15679-15695 amplify:aw...AuthPlugin  V  InitiateRefreshSession Starting execution
2025-08-25 08:51:17.019 15679-15695 amplify:aw...AuthPlugin  V  InitiateRefreshSession Sending event RefreshUserPoolTokens
2025-08-25 08:51:17.019 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=RefreshingUserPoolTokens(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:17.019 15679-15695 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Starting execution
2025-08-25 08:51:17.020 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:17.020 15679-15695 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:17.020 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:17.021 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:17.021 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=ASFDevice(id=4ee7f142-0d3e-4a34-897d-4d3898ab2b8a:1756017952062))
2025-08-25 08:51:17.022 15679-15695 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:17.022 15679-15695 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:17.022 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:17.024 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:17.024 15679-15695 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:17.024 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:17.024 15679-15695 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:17.025 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=DeviceData(deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba))
2025-08-25 08:51:17.025 15679-15713 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:17.025 15679-15713 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:17.025 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:18.397 15679-15713 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Sending event Refreshed
2025-08-25 08:51:18.398 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=Refreshed(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:18.398 15679-15713 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Starting execution
2025-08-25 08:51:18.398 15679-15713 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Sending event Refreshed
2025-08-25 08:51:18.399 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=StoringCredentials(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:18.399 15679-15713 amplify:aw...AuthPlugin  V  PersistCredentials Starting execution
2025-08-25 08:51:18.400 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: StoringCredentials(id=)
2025-08-25 08:51:18.400 15679-15762 amplify:aw...AuthPlugin  V  StoreCredentials Starting execution
2025-08-25 08:51:18.400 15679-15713 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:18.404 15679-15762 amplify:aw...AuthPlugin  V  StoreCredentials Sending event CompletedOperation
2025-08-25 08:51:18.404 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))))
2025-08-25 08:51:18.405 15679-15762 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:18.405 15679-15762 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:18.405 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:18.405 15679-15762 amplify:aw...AuthPlugin  V  PersistCredentials Sending event ReceivedCachedCredentials
2025-08-25 08:51:18.406 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=SessionEstablished(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:20.030 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:20.031 15679-15709 amplify:aw...AuthPlugin  V  InitiateRefreshSession Starting execution
2025-08-25 08:51:20.031 15679-15709 amplify:aw...AuthPlugin  V  InitiateRefreshSession Sending event RefreshUserPoolTokens
2025-08-25 08:51:20.032 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=RefreshingUserPoolTokens(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:20.032 15679-15762 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Starting execution
2025-08-25 08:51:20.033 15679-15762 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:20.033 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:20.033 15679-15762 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:20.035 15679-15762 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:20.035 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=ASFDevice(id=4ee7f142-0d3e-4a34-897d-4d3898ab2b8a:1756017952062))
2025-08-25 08:51:20.036 15679-15762 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:20.036 15679-15762 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:20.036 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:20.037 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:20.037 15679-15715 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:20.037 15679-15715 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:20.037 15679-15715 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:20.038 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=DeviceData(deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba))
2025-08-25 08:51:20.038 15679-15715 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:20.038 15679-15715 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:20.038 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:21.469 15679-15710 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Sending event Refreshed
2025-08-25 08:51:21.470 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=Refreshed(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:21.471 15679-15710 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Starting execution
2025-08-25 08:51:21.471 15679-15710 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Sending event Refreshed
2025-08-25 08:51:21.472 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=StoringCredentials(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:21.472 15679-15710 amplify:aw...AuthPlugin  V  PersistCredentials Starting execution
2025-08-25 08:51:21.474 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: StoringCredentials(id=)
2025-08-25 08:51:21.474 15679-15715 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:21.474 15679-15710 amplify:aw...AuthPlugin  V  StoreCredentials Starting execution
2025-08-25 08:51:21.478 15679-15710 amplify:aw...AuthPlugin  V  StoreCredentials Sending event CompletedOperation
2025-08-25 08:51:21.479 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))))
2025-08-25 08:51:21.479 15679-15710 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:21.479 15679-15710 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:21.479 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:21.480 15679-15710 amplify:aw...AuthPlugin  V  PersistCredentials Sending event ReceivedCachedCredentials
2025-08-25 08:51:21.481 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=SessionEstablished(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:21.484 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=NotStarted(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:21.484 15679-15767 amplify:aw...AuthPlugin  V  InitiateRefreshSession Starting execution
2025-08-25 08:51:21.484 15679-15767 amplify:aw...AuthPlugin  V  InitiateRefreshSession Sending event RefreshUserPoolTokens
2025-08-25 08:51:21.484 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=RefreshingUserPoolTokens(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:21.484 15679-15767 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Starting execution
2025-08-25 08:51:21.485 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:21.485 15679-15766 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:21.485 15679-15766 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:21.486 15679-15766 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:21.486 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=ASFDevice(id=4ee7f142-0d3e-4a34-897d-4d3898ab2b8a:1756017952062))
2025-08-25 08:51:21.486 15679-15766 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:21.486 15679-15766 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:21.487 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:21.488 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: LoadingStoredCredentials(id=)
2025-08-25 08:51:21.488 15679-15766 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:21.488 15679-15766 amplify:aw...AuthPlugin  V  LoadCredentialStore Starting execution
2025-08-25 08:51:21.488 15679-15766 amplify:aw...AuthPlugin  V  LoadCredentialStore Sending event CompletedOperation
2025-08-25 08:51:21.488 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=DeviceData(deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba))
2025-08-25 08:51:21.488 15679-15766 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:21.488 15679-15766 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:21.489 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:22.778 15679-15766 amplify:aw...AuthPlugin  V  RefreshUserPoolTokens Sending event Refreshed
2025-08-25 08:51:22.779 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=RefreshingSession(existingCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))), refreshSessionState=Refreshed(id=)), authSignUpState=NotStarted(id=))
2025-08-25 08:51:22.779 15679-15766 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Starting execution
2025-08-25 08:51:22.779 15679-15766 amplify:aw...AuthPlugin  V  NotifySessionRefreshed Sending event Refreshed
2025-08-25 08:51:22.780 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=StoringCredentials(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))
2025-08-25 08:51:22.780 15679-15766 amplify:aw...AuthPlugin  V  PersistCredentials Starting execution
2025-08-25 08:51:22.781 15679-15766 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:22.781 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: StoringCredentials(id=)
2025-08-25 08:51:22.782 15679-15766 amplify:aw...AuthPlugin  V  StoreCredentials Starting execution
2025-08-25 08:51:22.786 15679-15766 amplify:aw...AuthPlugin  V  StoreCredentials Sending event CompletedOperation
2025-08-25 08:51:22.786 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Success(storedCredentials=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***))))
2025-08-25 08:51:22.787 15679-15766 amplify:aw...AuthPlugin  V  MoveToIdleState Starting execution
2025-08-25 08:51:22.787 15679-15766 amplify:aw...AuthPlugin  V  MoveToIdleState Sending event MoveToIdleState
2025-08-25 08:51:22.787 15679-15728 amplify:aw...AuthPlugin  V  Credential Store State Change: Idle(id=)
2025-08-25 08:51:22.788 15679-15766 amplify:aw...AuthPlugin  V  PersistCredentials Sending event ReceivedCachedCredentials
2025-08-25 08:51:22.788 15679-15721 amplify:aw...AuthPlugin  V  Auth State Change: Configured(authNState=SignedIn(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)), deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@c1e1cba), authZState=SessionEstablished(amplifyCredential=UserPool(signedInData=SignedInData(userId=52448f43-3187-4aa6-8148-520bda7bb6d1, username=52448f43-3187-4aa6-8148-520bda7bb6d1, signedInDate=Mon Aug 25 08:51:15 GMT+10:00 2025, signInMethod=ApiBased(authType=USER_SRP_AUTH), cognitoUserPoolTokens=CognitoUserPoolTokens(idToken = eyJra***, accessToken = eyJra***, refreshToken = eyJjd***)))), authSignUpState=NotStarted(id=))

Jeffrey-Chau-Leo avatar Aug 24 '25 22:08 Jeffrey-Chau-Leo

@Jeffrey-Chau-Leo I don't see an issue with the above logs. It looks like everything was successful. I see that you are stating that its failing if not set to forceRefresh=true Please provide the same log scenario as the previous post, this time without forceRefresh.

tylerjroach avatar Aug 25 '25 13:08 tylerjroach

@tylerjroach I just wanted to clarify the above verbose logs are indeed fresh and we cannot reproduce this ourselves nor can we log verbose in production. The stack traces (under additional information) in the first post are the most common, which we still currently see in production even after signing out users ourselves when the relevant exceptions are caught.

We are assuming once a user is signed out and signs back in, the frequency of occurrence would reduce but that does not seem to be the case.

Can you elaborate what the two stack traces could mean beyond the exception message and what could cause them?

Jeffrey-Chau-Leo avatar Aug 27 '25 00:08 Jeffrey-Chau-Leo

Stacktrace 2 looks like a first launch and there were no credentials to provide.

For Stacktrace 1, I'm not entirely clear where you grabbed this stacktrace from. Was this from onError of fetchAuthSession, or was this from an attempt to grab userPoolTokensResult, awsCredentialsResult, or any of the other AuthSessionResult types within AWSCognitoAuthSession. This type of message would be expected on any attempts to grab identity pool info.

Do you have info on the exact device and why you believe it was already signed in? There are a limited number of devices that do not work with AndroidX EncryptedSharedPreferences and require us to only use in-memory keystores (each app launch = new sign in required).

I do want to mention that our next release will be hitting a new refresh token api from Cognito (https://github.com/aws-amplify/amplify-android/pull/3112). I'll let you know when it has been released, but it may be worth updating to the latest version once this is available and then re-assessing.

tylerjroach avatar Aug 27 '25 15:08 tylerjroach

Stacktrace 2, is this a scenario where we should manually log the user out?

Stacktrace 1, we are checking fetchAuthSession for errors in userPoolTokensResult and userSubResult.

In regards to exact devices, from our logs, it does not seem to be, this happens on all types for both stack traces.

In regards to GetTokensFromRefreshToken, sounds like we would need to upgrade our plan just to test this out and in that case, we will not be using it

Jeffrey-Chau-Leo avatar Aug 28 '25 00:08 Jeffrey-Chau-Leo

We just released 2.30.0 with a new refresh token api under the hood. Would you be willing to give that a try and see if you are still experiencing any issues?

Stacktrace 2, is this a scenario where we should manually log the user out?

Here it doesn't appear they were logged in. Was isSignedIn reporting true?

tylerjroach avatar Aug 28 '25 20:08 tylerjroach

@tylerjroach We're planning to upgrade our version to 2.30.0 in our next release, I'll keep you posted to see if there are any changes

Jeffrey-Chau-Leo avatar Sep 08 '25 23:09 Jeffrey-Chau-Leo