Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to switch to sign up flow while in sign in flow #2942

Closed
1 task done
sailquilt opened this issue Nov 4, 2024 · 5 comments
Closed
1 task done

Unable to switch to sign up flow while in sign in flow #2942

sailquilt opened this issue Nov 4, 2024 · 5 comments
Labels
auth Related to the Auth category/plugins bug Something isn't working improvement Any improvement that's not a bug and not requesting new functionality pending-maintainer-response Issue is pending response from an Amplify team member question General question

Comments

@sailquilt
Copy link

Before opening, please confirm:

Language and Async Model

Kotlin - Coroutines

Amplify Categories

Authentication

Gradle script dependencies

// Put output below this line
awsAuthCognito = "2.24.0"
aws-auth-cognito = { group = "com.amplifyframework", name = "aws-auth-cognito", version.ref = "awsAuthCognito" }
aws-core-kotlin = { group = "com.amplifyframework", name = "core-kotlin", version.ref = "awsAuthCognito" }

implementation(libs.aws.auth.cognito)
implementation(libs.aws.core.kotlin)

Environment information

# Put output below this line
------------------------------------------------------------
Gradle 8.7
------------------------------------------------------------

Build time:   2024-03-22 15:52:46 UTC
Revision:     650af14d7653aa949fce5e886e685efc9cf97c10

Kotlin:       1.9.22
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          22.0.2 (Homebrew 22.0.2)
OS:           Mac OS X 14.6.1 aarch64

Please include any relevant guides or documentation you're referencing

No response

Describe the bug

When switching from the sign in flow to sign up flow, we get the following error:

Auth state is an invalid state, cannot process the request.

Reproduction steps (if applicable)

No response

Code Snippet

// Put your code below this line.
            val authResult = Amplify.Auth.signIn(
                username = email,
                password = "",
            )

// The above returns CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE

          val authResult = Amplify.Auth.signUp(
                username = email,
                password = generateUUID()
            )

// This throws InvalidStateException

Log output

// Put your logs below this line
11-04 12:46:22.626 D/ConnectivityManager( 9271): StackLog: [android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:4692)] [android.net.ConnectivityManager.registerDefaultNetworkCallbackForUid(ConnectivityManager.java:5381)] [android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:5348)] [android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:5322)] [io.sentry.android.core.internal.util.AndroidConnectionStatusProvider.registerNetworkCallback(AndroidConnectionStatusProvider.java:307)] [io.sentry.android.core.NetworkBreadcrumbsIntegration.register(NetworkBreadcrumbsIntegration.java:77)] [io.sentry.Sentry.init(Sentry.java:255)] [io.sentry.Sentry.init(Sentry.java:167)] [io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:94)] [io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:77)] [com.quilt.android.clientservices.SentryService.configureSentry(SentryService.kt:19)] [com.quilt.android.QuiltApplication.onCreate(QuiltApplication.kt:29)] [android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316)] [android.app.ActivityThread.handleBindApplication(ActivityThread.java:7848)] [android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)] [android.app.ActivityThread$H.handleMessage(ActivityThread.java:2486)]
11-04 12:46:22.710 I/Quilt   ( 9271): 🟢 [KMP:NetworkController] - Using development network configuration
11-04 12:46:22.806 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: NotConfigured(id=)
11-04 12:46:22.807 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: ConfiguringAuth(id=)
11-04 12:46:22.807 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitAuthConfig Starting execution
11-04 12:46:22.808 I/Quilt   ( 9271): 🟢 [KMP:AuthenticationController] - restorePreviousSignIn
11-04 12:46:22.809 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: NotConfigured(id=)
11-04 12:46:22.809 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: MigratingLegacyStore(id=)
11-04 12:46:22.809 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - onRestorePreviousSignIn, user is not signed in
11-04 12:46:22.810 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MigrateLegacyCredentials Starting execution
11-04 12:46:22.810 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - updateUserState, Uninitialized -> SignedOut(isViewLoaded=false, isSessionExpired=false)
11-04 12:46:22.826 I/Quilt   ( 9271): 🟢 [Android:AppLifecycleObserver] - onStart, ignoring first onStart after app launch
11-04 12:46:22.831 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MigrateLegacyCredentials Sending event LoadCredentialStore
11-04 12:46:22.832 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: LoadingStoredCredentials(id=)
11-04 12:46:22.832 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): LoadCredentialStore Starting execution
11-04 12:46:22.838 I/IDS_TAG ( 9271): Getting Shared Preference for com.quilt.android.QuiltApplication@d99fa7d uid = 10568
11-04 12:46:22.840 I/IDS_TAG ( 9271): App com.quilt.android.QuiltApplication@d99fa7d has not finished training
11-04 12:46:22.841 I/IDS_TAG ( 9271): Getting Shared Preference for com.quilt.android.QuiltApplication@d99fa7d uid = 10568
11-04 12:46:22.841 I/IDS_TAG ( 9271): IDS count updated to 2 for com.quilt.android.QuiltApplication@d99fa7d
11-04 12:46:22.929 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): LoadCredentialStore Sending event CompletedOperation
11-04 12:46:22.929 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Success(storedCredentials=com.amplifyframework.statemachine.codegen.data.AmplifyCredential$Empty@100d533)
11-04 12:46:22.929 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MoveToIdleState Starting execution
11-04 12:46:22.929 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MoveToIdleState Sending event MoveToIdleState
11-04 12:46:22.930 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Idle(id=)
11-04 12:46:22.930 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitAuthConfig Sending event ConfigureAuthentication
11-04 12:46:22.930 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: ConfiguringAuthentication(authNState=NotConfigured(id=))
11-04 12:46:22.931 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitAuthNConfig Starting execution
11-04 12:46:22.931 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitAuthNConfig Sending event Configure
11-04 12:46:22.931 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: ConfiguringAuthentication(authNState=Configured(id=))
11-04 12:46:22.931 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): ConfigureAuthN Starting execution
11-04 12:46:22.932 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): ConfigureAuthN Sending event InitializedSignedOut
11-04 12:46:22.932 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): ConfigureAuthN Sending event ConfiguredAuthentication
11-04 12:46:22.932 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: ConfiguringAuthentication(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)))
11-04 12:46:22.932 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: ConfiguringAuthorization(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=NotConfigured(id=))
11-04 12:46:22.933 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitAuthZConfig Starting execution
11-04 12:46:22.933 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitAuthZConfig Sending event Configure
11-04 12:46:22.933 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: ConfiguringAuthorization(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Configured(id=))
11-04 12:46:22.933 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): ConfigureAuthZ Starting execution
11-04 12:46:22.933 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): ConfigureAuthZ Sending event ConfiguredAuthorization
11-04 12:46:22.934 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: Configured(authNState=SignedOut(signedOutData=SignedOutData(lastKnownUsername=null, hostedUIErrorData=null, globalSignOutErrorData=null, revokeTokenErrorData=null)), authZState=Configured(id=))
11-04 12:46:23.236 I/Quilt   ( 9271): 🟢 [Android:SplashScreenPreDrawListener] - isAppReady, userState: null -> SignedOut(isViewLoaded=false, isSessionExpired=false), isAppReady: false
11-04 12:46:23.258 I/Quilt   ( 9271): 🟢 [KMP:HandledExceptions] - Breadcrumb: sign_in, navigation
11-04 12:46:23.273 I/Quilt   ( 9271): 🟢 [KMP:HandledExceptions] - Breadcrumb: sign_in, navigation
11-04 12:46:23.443 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - onViewLoaded
11-04 12:46:23.443 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - updateUserState, SignedOut(isViewLoaded=false, isSessionExpired=false) -> SignedOut(isViewLoaded=true, isSessionExpired=false)
11-04 12:46:23.466 I/Quilt   ( 9271): 🟢 [Android:SplashScreenPreDrawListener] - isAppReady, userState: SignedOut(isViewLoaded=false, isSessionExpired=false) -> SignedOut(isViewLoaded=true, isSessionExpired=false), isAppReady: true
11-04 12:46:23.466 I/Quilt   ( 9271): 🟢 [Android:SplashScreenPreDrawListener] - onAppReady
11-04 12:46:25.369 I/Quilt   ( 9271): 🟢 [KMP:HandledExceptions] - Breadcrumb: sign_in_with_email, navigation
11-04 12:46:33.461 I/Quilt   ( 9271): 🟢 [KMP:AuthenticationController] - signInWithEmail
11-04 12:46:33.461 I/Quilt   ( 9271): 🟢 [Android:CognitoService] - signInWithEmail, calling signIn
11-04 12:46:33.469 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: Configured(authNState=SigningIn(signInState=NotStarted(id=)), authZState=SigningIn(id=))
11-04 12:46:33.469 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitiateSignInAction Starting execution
11-04 12:46:33.469 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitiateSignInAction Sending event InitiateSignInWithCustom
11-04 12:46:33.470 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: Configured(authNState=SigningIn(signInState=SigningInWithCustom(customSignInState=NotStarted(id=))), authZState=SigningIn(id=))
11-04 12:46:33.470 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): StartCustomAuth Starting execution
11-04 12:46:33.471 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): StartCustomAuth Sending event InitiateCustomSignIn
11-04 12:46:33.472 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: Configured(authNState=SigningIn(signInState=SigningInWithCustom(customSignInState=Initiating(id=))), authZState=SigningIn(id=))
11-04 12:46:33.472 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitCustomAuth Starting execution
11-04 12:46:33.473 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: LoadingStoredCredentials(id=)
11-04 12:46:33.473 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Idle(id=)
11-04 12:46:33.473 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): LoadCredentialStore Starting execution
11-04 12:46:33.475 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): LoadCredentialStore Sending event CompletedOperation
11-04 12:46:33.475 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Success(storedCredentials=ASFDevice(id=849b4a7c-39c9-4b9a-b0e0-3896a3a7ed10:1730144962298))
11-04 12:46:33.475 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MoveToIdleState Starting execution
11-04 12:46:33.475 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MoveToIdleState Sending event MoveToIdleState
11-04 12:46:33.475 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Idle(id=)
11-04 12:46:33.480 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Idle(id=)
11-04 12:46:33.480 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: LoadingStoredCredentials(id=)
11-04 12:46:33.481 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): LoadCredentialStore Starting execution
11-04 12:46:33.483 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): LoadCredentialStore Sending event CompletedOperation
11-04 12:46:33.483 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Success(storedCredentials=DeviceData(deviceMetadata=com.amplifyframework.statemachine.codegen.data.DeviceMetadata$Empty@826c739))
11-04 12:46:33.483 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MoveToIdleState Starting execution
11-04 12:46:33.483 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): MoveToIdleState Sending event MoveToIdleState
11-04 12:46:33.483 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Credential Store State Change: Idle(id=)
11-04 12:46:34.243 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitCustomAuth Sending event ReceivedChallenge
11-04 12:46:34.243 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: Configured(authNState=SigningIn(signInState=ResolvingChallenge(challengeState=NotStarted(id=))), authZState=SigningIn(id=))
11-04 12:46:34.244 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitResolveChallenge Starting execution
11-04 12:46:34.244 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): InitResolveChallenge Sending event WaitForAnswer
11-04 12:46:34.245 V/amplify:aws-cognito-auth:AWSCognitoAuthPlugin( 9271): Auth State Change: Configured(authNState=SigningIn(signInState=ResolvingChallenge(challengeState=WaitingForAnswer(challenge=AuthChallenge(challengeName=CUSTOM_CHALLENGE, username=..., session=..-..-.., parameters={USERNAME=..., [email protected]}), hasNewResponse=false))), authZState=SigningIn(id=))
11-04 12:46:34.247 I/Quilt   ( 9271): 🟢 [Android:CognitoService] - signInWithEmail, authResult: AuthSignInResult{isSignedIn=false, nextStep=AuthNextSignInStep{signInStep=CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE, additionalInfo={USERNAME=..., [email protected]}, codeDeliveryDetails=null, totpSetupDetails=null, allowedMFATypes=null}}
11-04 12:46:34.247 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - onSignIn, user is not signed in
11-04 12:46:34.248 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - updateUserState, SignedOut(isViewLoaded=true, isSessionExpired=false) -> SignedOut(isViewLoaded=true, isSessionExpired=false)
11-04 12:46:34.272 I/Quilt   ( 9271): 🟢 [KMP:HandledExceptions] - Breadcrumb: email_signin_code_entry/{email}, navigation
11-04 12:46:35.809 I/Quilt   ( 9271): 🟢 [KMP:HandledExceptions] - Breadcrumb: sign_in_with_email, navigation
11-04 12:46:46.155 I/Quilt   ( 9271): 🟢 [KMP:AuthenticationController] - signInWithEmail
11-04 12:46:46.155 I/Quilt   ( 9271): 🟢 [Android:CognitoService] - signUpOrSignInWithEmail, first trying sign up
11-04 12:46:46.159 E/Quilt   ( 9271): 🔴 [KMP:HandledExceptions] - Handled exception InvalidStateException{message=Auth state is an invalid state, cannot process the request., cause=null, recoverySuggestion=Operation performed is not a valid operation for the current auth state.}
11-04 12:46:46.312 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - onSignIn, user is not signed in
11-04 12:46:46.313 I/Quilt   ( 9271): 🟢 [KMP:ActiveUserController] - updateUserState, SignedOut(isViewLoaded=true, isSessionExpired=false) -> SignedOut(isViewLoaded=true, isSessionExpired=false)


amplifyconfiguration.json

No response

GraphQL Schema

// Put your schema below this line

Additional information and screenshots

No response

@github-actions github-actions bot added pending-triage Issue is pending triage pending-maintainer-response Issue is pending response from an Amplify team member labels Nov 4, 2024
@sailquilt
Copy link
Author

I wonder if having an explicit API to cancel the sign in flow would help? Similar to the request here: #2604

@edisooon
Copy link
Member

edisooon commented Nov 4, 2024

Hi @sailquilt, thank you for submitting the issue. One of our team members will do some investigation on this as soon as possible.

@github-actions github-actions bot removed the pending-maintainer-response Issue is pending response from an Amplify team member label Nov 4, 2024
@edisooon edisooon added auth Related to the Auth category/plugins question General question bug Something isn't working and removed pending-triage Issue is pending triage auth Related to the Auth category/plugins labels Nov 4, 2024
@vincetran vincetran added auth Related to the Auth category/plugins improvement Any improvement that's not a bug and not requesting new functionality labels Nov 19, 2024
@tylerjroach
Copy link
Member

@sailquilt Amplify v2.25.0 should fix this issue for you. Please update and let us know if everything is working as expected!

@tylerjroach tylerjroach added the closing soon This issue will be closed in 7 days unless further comments are made. label Dec 13, 2024
@sailquilt
Copy link
Author

Thank you so much for the fix. I verified that it works for my use case.

@github-actions github-actions bot added pending-maintainer-response Issue is pending response from an Amplify team member and removed closing soon This issue will be closed in 7 days unless further comments are made. labels Dec 13, 2024
Copy link
Contributor

This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auth Related to the Auth category/plugins bug Something isn't working improvement Any improvement that's not a bug and not requesting new functionality pending-maintainer-response Issue is pending response from an Amplify team member question General question
Projects
None yet
Development

No branches or pull requests

4 participants