Skip to content

Commit 523a177

Browse files
committed
Merge remote-tracking branch 'origin/samgst/stopDeletingCredentialFromConfig' into samgst/stopDeletingCredentialFromConfig
# Conflicts: # plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/actions/SsoLogoutAction.kt
2 parents 07640ec + 94485de commit 523a177

File tree

5 files changed

+1
-394
lines changed

5 files changed

+1
-394
lines changed

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ConfigFilesFacade.kt

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
package software.aws.toolkits.jetbrains.core.credentials
55

6-
import com.intellij.openapi.application.ApplicationManager
7-
import com.intellij.openapi.fileEditor.FileDocumentManager
86
import software.amazon.awssdk.profiles.Profile
97
import software.amazon.awssdk.profiles.ProfileFile
108
import software.amazon.awssdk.profiles.ProfileFileLocation
@@ -17,8 +15,6 @@ import software.aws.toolkits.core.utils.touch
1715
import software.aws.toolkits.core.utils.tryDirOp
1816
import software.aws.toolkits.core.utils.tryFileOp
1917
import software.aws.toolkits.core.utils.writeText
20-
import software.aws.toolkits.jetbrains.core.credentials.profiles.ProfileWatcher
21-
import software.aws.toolkits.jetbrains.core.credentials.profiles.SsoSessionConstants
2218
import software.aws.toolkits.jetbrains.core.credentials.profiles.ssoSessions
2319
import java.nio.file.Path
2420

@@ -39,8 +35,6 @@ interface ConfigFilesFacade {
3935
fun appendProfileToCredentials(profile: Profile)
4036
fun appendSectionToConfig(sectionName: String, profile: Profile)
4137
fun updateSectionInConfig(sectionName: String, profile: Profile)
42-
43-
fun deleteSsoConnectionFromConfig(sessionName: String)
4438
}
4539

4640
class DefaultConfigFilesFacade(
@@ -179,24 +173,6 @@ class DefaultConfigFilesFacade(
179173
}
180174
}
181175

182-
override fun deleteSsoConnectionFromConfig(sessionName: String) {
183-
val filePath = configPath
184-
val lines = filePath.inputStreamIfExists()?.reader()?.readLines().orEmpty()
185-
val ssoHeaderLine = lines.indexOfFirst { it.startsWith("[${SsoSessionConstants.SSO_SESSION_SECTION_NAME} $sessionName]") }
186-
if (ssoHeaderLine == -1) return
187-
val nextHeaderLine = lines.subList(ssoHeaderLine + 1, lines.size).indexOfFirst { it.startsWith("[") }
188-
val endIndex = if (nextHeaderLine == -1) lines.size else ssoHeaderLine + nextHeaderLine + 1
189-
val updatedArray = lines.subList(0, ssoHeaderLine) + lines.subList(endIndex, lines.size)
190-
val profileHeaderLine = getCorrespondingSsoSessionProfilePosition(updatedArray, sessionName)
191-
filePath.writeText(profileHeaderLine.joinToString("\n"))
192-
193-
val applicationManager = ApplicationManager.getApplication()
194-
if (applicationManager != null && !applicationManager.isUnitTestMode) {
195-
FileDocumentManager.getInstance().saveAllDocuments()
196-
ProfileWatcher.getInstance().forceRefresh()
197-
}
198-
}
199-
200176
private fun getCorrespondingSsoSessionProfilePosition(updatedArray: List<String>, sessionName: String): List<String> {
201177
var content = updatedArray
202178
val finalContent = mutableListOf<String>()

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/ToolkitAuthManager.kt

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@ import software.amazon.awssdk.services.ssooidc.model.SsoOidcException
1313
import software.aws.toolkits.core.ClientConnectionSettings
1414
import software.aws.toolkits.core.ConnectionSettings
1515
import software.aws.toolkits.core.TokenConnectionSettings
16-
import software.aws.toolkits.core.credentials.CredentialIdentifier
1716
import software.aws.toolkits.core.credentials.ToolkitBearerTokenProvider
1817
import software.aws.toolkits.core.utils.getLogger
1918
import software.aws.toolkits.core.utils.info
2019
import software.aws.toolkits.core.utils.warn
2120
import software.aws.toolkits.jetbrains.core.credentials.pinning.FeatureWithPinnedConnection
22-
import software.aws.toolkits.jetbrains.core.credentials.profiles.ProfileCredentialsIdentifierSso
2321
import software.aws.toolkits.jetbrains.core.credentials.profiles.SsoSessionConstants.SSO_SESSION_SECTION_NAME
2422
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenAuthState
2523
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProvider
@@ -204,9 +202,6 @@ fun loginSso(
204202
fun logoutFromSsoConnection(project: Project?, connection: AwsBearerTokenConnection, callback: () -> Unit = {}) {
205203
try {
206204
ToolkitAuthManager.getInstance().deleteConnection(connection.id)
207-
if (connection is ProfileSsoManagedBearerSsoConnection) {
208-
deleteSsoConnection(connection)
209-
}
210205
} finally {
211206
callback()
212207
}
@@ -332,19 +327,6 @@ fun maybeReauthProviderIfNeeded(
332327
}
333328
}
334329

335-
fun deleteSsoConnection(connection: ProfileSsoManagedBearerSsoConnection) =
336-
deleteSsoConnection(connection.configSessionName)
337-
338-
fun deleteSsoConnection(connection: CredentialIdentifier) =
339-
deleteSsoConnection(getSsoSessionProfileNameFromCredentials(connection))
340-
341-
fun deleteSsoConnection(sessionName: String) = DefaultConfigFilesFacade().deleteSsoConnectionFromConfig(sessionName)
342-
343-
private fun getSsoSessionProfileNameFromCredentials(connection: CredentialIdentifier): String {
344-
connection as ProfileCredentialsIdentifierSso
345-
return connection.ssoSessionName
346-
}
347-
348330
private fun recordLoginWithBrowser(
349331
credentialStartUrl: String? = null,
350332
credentialSourceId: CredentialSourceId? = null,

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/actions/SsoLogoutAction.kt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,13 @@ package software.aws.toolkits.jetbrains.core.credentials.actions
66
import com.intellij.openapi.actionSystem.AnActionEvent
77
import com.intellij.openapi.application.ApplicationManager
88
import com.intellij.openapi.project.DumbAwareAction
9-
import com.intellij.openapi.ui.MessageDialogBuilder
109
import software.aws.toolkits.jetbrains.core.credentials.AwsBearerTokenConnection
11-
import software.aws.toolkits.jetbrains.core.credentials.ProfileSsoManagedBearerSsoConnection
1210
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManagerListener
13-
import software.aws.toolkits.jetbrains.core.credentials.deleteSsoConnection
1411
import software.aws.toolkits.jetbrains.core.credentials.logoutFromSsoConnection
1512
import software.aws.toolkits.resources.AwsCoreBundle
16-
import software.aws.toolkits.telemetry.UiTelemetry
1713

1814
class SsoLogoutAction(private val value: AwsBearerTokenConnection) : DumbAwareAction(AwsCoreBundle.message("credentials.individual_identity.signout")) {
1915
override fun actionPerformed(e: AnActionEvent) {
20-
UiTelemetry.click(e.project, "signOut")
21-
if (value is ProfileSsoManagedBearerSsoConnection) {
22-
val confirmDeletion = MessageDialogBuilder.okCancel(
23-
AwsCoreBundle.message("gettingstarted.auth.idc.sign.out.confirmation.title"),
24-
AwsCoreBundle.message("gettingstarted.auth.idc.sign.out.confirmation")
25-
).yesText(AwsCoreBundle.message("general.confirm")).ask(e.project)
26-
if (confirmDeletion) {
27-
deleteSsoConnection(value)
28-
}
29-
}
3016
logoutFromSsoConnection(e.project, value)
3117
ApplicationManager.getApplication().messageBus.syncPublisher(
3218
ToolkitConnectionManagerListener.TOPIC

0 commit comments

Comments
 (0)