Skip to content

Commit ea57fef

Browse files
committed
cleanup
1 parent 37d9c5a commit ea57fef

File tree

2 files changed

+16
-19
lines changed

2 files changed

+16
-19
lines changed

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/auth/DefaultAuthCredentialsService.kt

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnection
1919
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
2020
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManagerListener
2121
import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
22-
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenAuthState
2322
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProvider
2423
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProviderListener
2524
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
@@ -76,26 +75,18 @@ class DefaultAuthCredentialsService(
7675
{
7776
try {
7877
if (isQConnected(project)) {
79-
if (isQExpired(project)) {
80-
val manager = ToolkitConnectionManager.getInstance(project)
81-
val connection = manager.activeConnectionForFeature(QConnection.getInstance()) ?: return@scheduleWithFixedDelay
82-
83-
// Try to refresh the token if it's in NEEDS_REFRESH state
84-
val tokenProvider = (connection.getConnectionSettings() as? TokenConnectionSettings)
85-
?.tokenProvider
86-
?.delegate
87-
?.let { it as? BearerTokenProvider } ?: return@scheduleWithFixedDelay
88-
89-
// periodically poll token to trigger a background refresh if needed
90-
try {
91-
tokenProvider.resolveToken()
92-
} catch (e: Exception) {
93-
LOG.warn(e) { "Failed to refresh bearer token" }
94-
}
95-
}
78+
val manager = ToolkitConnectionManager.getInstance(project)
79+
val connection = manager.activeConnectionForFeature(QConnection.getInstance()) ?: return@scheduleWithFixedDelay
80+
81+
// periodically poll token to trigger a background refresh if needed
82+
val tokenProvider = (connection.getConnectionSettings() as? TokenConnectionSettings)
83+
?.tokenProvider
84+
?.delegate
85+
?.let { it as? BearerTokenProvider } ?: return@scheduleWithFixedDelay
86+
tokenProvider.resolveToken()
9687
}
9788
} catch (e: Exception) {
98-
LOG.warn(e) { "Failed to sync bearer token to Flare" }
89+
LOG.warn(e) { "Failed to refresh bearer token" }
9990
}
10091
},
10192
tokenRefreshInterval,

plugins/core/jetbrains-community/tst/software/aws/toolkits/jetbrains/core/credentials/sso/bearer/InteractiveBearerTokenProviderTest.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,11 +248,13 @@ class InteractiveBearerTokenProviderTest {
248248
stubClientRegistration()
249249
stubAccessToken()
250250
val sut = buildSut()
251+
whenever(diskCache.loadAccessToken(any<DeviceGrantAccessTokenCacheKey>())).thenReturn(null)
251252
sut.invalidate()
252253

253254
// initial load
254255
// invalidate attempts to reload token from disk
255256
verify(diskCache, times(2)).loadAccessToken(any<DeviceGrantAccessTokenCacheKey>())
257+
verify(diskCache).loadAccessToken(any<PKCEAccessTokenCacheKey>())
256258
verify(diskCache).invalidateClientRegistration(region)
257259
verify(diskCache).invalidateAccessToken(startUrl)
258260

@@ -268,6 +270,10 @@ class InteractiveBearerTokenProviderTest {
268270

269271
// nothing else
270272
verifyNoMoreInteractions(diskCache)
273+
274+
// should not have a token now
275+
assertThat(sut.currentToken()?.accessToken).isNull()
276+
assertThrows<NoTokenInitializedException> { sut.resolveToken() }
271277
}
272278

273279
@Test

0 commit comments

Comments
 (0)