diff --git a/.changes/next-release/bugfix-213273c1-12a5-47d1-b973-499d25e1d68e.json b/.changes/next-release/bugfix-213273c1-12a5-47d1-b973-499d25e1d68e.json new file mode 100644 index 00000000000..a35b78228d3 --- /dev/null +++ b/.changes/next-release/bugfix-213273c1-12a5-47d1-b973-499d25e1d68e.json @@ -0,0 +1,4 @@ +{ + "type" : "bugfix", + "description" : "Fix issue where users are unable to login to Amazon Q if they have previously authenticated (#5214)" +} \ No newline at end of file diff --git a/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitConnectionImpls.kt b/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitConnectionImpls.kt index fb89054b5f2..f7c85b05e6c 100644 --- a/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitConnectionImpls.kt +++ b/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitConnectionImpls.kt @@ -3,6 +3,7 @@ package software.aws.toolkits.jetbrains.core.credentials +import com.fasterxml.jackson.annotation.JsonIgnore import com.intellij.openapi.Disposable import com.intellij.openapi.util.Disposer import software.aws.toolkits.core.TokenConnectionSettings @@ -73,6 +74,7 @@ sealed class ManagedBearerSsoConnection( region ) + @JsonIgnore override fun getConnectionSettings(): TokenConnectionSettings = provider override fun dispose() { @@ -99,6 +101,7 @@ class DetectedDiskSsoSessionConnection( region ) + @JsonIgnore override fun getConnectionSettings(): TokenConnectionSettings = provider override fun dispose() { diff --git a/plugins/core/jetbrains-community/tst/software/aws/toolkits/jetbrains/core/credentials/DefaultToolkitAuthManagerTest.kt b/plugins/core/jetbrains-community/tst/software/aws/toolkits/jetbrains/core/credentials/DefaultToolkitAuthManagerTest.kt index 3f5d4962438..f63be201d7c 100644 --- a/plugins/core/jetbrains-community/tst/software/aws/toolkits/jetbrains/core/credentials/DefaultToolkitAuthManagerTest.kt +++ b/plugins/core/jetbrains-community/tst/software/aws/toolkits/jetbrains/core/credentials/DefaultToolkitAuthManagerTest.kt @@ -3,6 +3,7 @@ package software.aws.toolkits.jetbrains.core.credentials +import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.intellij.openapi.Disposable import com.intellij.openapi.application.ApplicationManager import com.intellij.testFramework.ProjectExtension @@ -453,6 +454,22 @@ class DefaultToolkitAuthManagerTest { } } + @Test + fun `serializing LegacyManagedBearerSsoConnection does not include connectionSettings`() { + val profile = ManagedSsoProfile("us-east-1", "startUrl000", listOf("scopes")) + val connection = sut.createConnection(profile) as LegacyManagedBearerSsoConnection + + assertThat(jacksonObjectMapper().writeValueAsString(connection)).doesNotContain("connectionSettings") + } + + @Test + fun `serializing ProfileSsoManagedBearerSsoConnection does not include connectionSettings`() { + val profile = UserConfigSsoSessionProfile("sessionName", "us-east-1", "startUrl000", listOf("scopes")) + val connection = sut.createConnection(profile) as ProfileSsoManagedBearerSsoConnection + + assertThat(jacksonObjectMapper().writeValueAsString(connection)).doesNotContain("connectionSettings") + } + private companion object { @ExtendWith(ProjectExtension::class) val projectRule = ProjectRule()