diff --git a/plugins/git4idea/src/git4idea/commands/GitHttpGuiAuthenticator.java b/plugins/git4idea/src/git4idea/commands/GitHttpGuiAuthenticator.java index 7dce3184bf94..3abbc8051678 100644 --- a/plugins/git4idea/src/git4idea/commands/GitHttpGuiAuthenticator.java +++ b/plugins/git4idea/src/git4idea/commands/GitHttpGuiAuthenticator.java @@ -252,7 +252,7 @@ class GitHttpGuiAuthenticator implements GitHttpAuthenticator { @Override public void onAuthFailure(@NotNull String url) { - if (myData != null) myDelegate.forgetPassword(url, myData); + if (myData != null) myDelegate.forgetPassword(myProject, url, myData); } } diff --git a/plugins/git4idea/src/git4idea/remote/GitHttpAuthDataProvider.java b/plugins/git4idea/src/git4idea/remote/GitHttpAuthDataProvider.java index 595e40ff2504..8fe6aed2b706 100644 --- a/plugins/git4idea/src/git4idea/remote/GitHttpAuthDataProvider.java +++ b/plugins/git4idea/src/git4idea/remote/GitHttpAuthDataProvider.java @@ -47,7 +47,7 @@ public interface GitHttpAuthDataProvider { return null; } - default void forgetPassword(@NotNull String url, @NotNull AuthData authData) { + default void forgetPassword(@NotNull Project project, @NotNull String url, @NotNull AuthData authData) { //noinspection deprecation forgetPassword(url); } diff --git a/plugins/github/src/META-INF/plugin.xml b/plugins/github/src/META-INF/plugin.xml index 290fa674e78b..307f6ef015c9 100644 --- a/plugins/github/src/META-INF/plugin.xml +++ b/plugins/github/src/META-INF/plugin.xml @@ -28,7 +28,7 @@ - + diff --git a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.kt b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.kt index 20077524298f..2057d523621d 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.kt +++ b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.kt @@ -2,6 +2,7 @@ package org.jetbrains.plugins.github.extensions +import com.intellij.openapi.components.service import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.progress.DumbProgressIndicator import com.intellij.openapi.project.Project @@ -17,8 +18,7 @@ import java.io.IOException class GithubHttpAuthDataProvider(private val authenticationManager: GithubAuthenticationManager, private val requestExecutorFactory: GithubApiRequestExecutor.Factory, private val requestExecutorManager: GithubApiRequestExecutorManager, - private val accountInformationProvider: GithubAccountInformationProvider, - private val authenticationFailureManager: GithubAccountGitAuthenticationFailureManager) : GitHttpAuthDataProvider { + private val accountInformationProvider: GithubAccountInformationProvider) : GitHttpAuthDataProvider { private val LOG = logger() override fun getAuthData(project: Project, url: String): GithubAccountAuthData? { @@ -43,13 +43,14 @@ class GithubHttpAuthDataProvider(private val authenticationManager: GithubAuthen } } - override fun forgetPassword(url: String, authData: AuthData) { + override fun forgetPassword(project: Project, url: String, authData: AuthData) { if (authData is GithubAccountAuthData) { - authenticationFailureManager.ignoreAccount(url, authData.account) + project.service().ignoreAccount(url, authData.account) } } fun getSuitableAccounts(project: Project, url: String, login: String?): Set { + val authenticationFailureManager = project.service() var potentialAccounts = authenticationManager.getAccounts() .filter { it.server.matches(url) } .filter { !authenticationFailureManager.isAccountIgnored(url, it) }