Search code examples
androidkotlinamazon-cognitoaws-amplify-sdk-android

Android: AWS Amplify User State is not getting update


I have just started learning AWS Amplify and I am integrating it to my android project to authenticate users. I have successfully logged-in but UserState is still SIGNED_OUT.

AWSMobileClient.getInstance().signIn(userName, password, null, callback)

Callback Code snippet

fun fetchAuthenticationCallBack(): Callback<SignInResult> {
    return object : Callback<SignInResult> {
        override fun onResult(result: SignInResult?) {
            when (result?.signInState) {
                SignInState.DONE -> {
                    // AWSMobileClient.getInstance().confirmSignIn()
                    Log.d(TAG, "LOGIN SUCCESS ${AWSMobileClient.getInstance().tokens.accessToken}")
                }

                SignInState.NEW_PASSWORD_REQUIRED -> {
                    Log.d(TAG, "NEW PASSWORD CHALLENGE")
                }

                else -> {
                    // Unsupported sign-in confirmation:
                }
            }
        }

        override fun onError(e: java.lang.Exception?) {
            TODO("Not yet implemented")
        }
    }
}

I want to get the accessToken but it gives me Exception

Token does not support retrieving while user is SIGN_OUT

Is there anything that I am missing in the authentication part?


Solution

  • If anyone will face this issue in the future.

    Kindly check your awsconfiguration.json file there is something went wrong. In my case CognitoIdentity credentials were wrong. I have just fixed the awsconfiguration.json file everything is working as expected