Skip to content

Commit 79ba4cb

Browse files
committed
impl: factory method for the auth manager
The OAuth2-compatible authentication manager provided by Toolbox
1 parent 0e03b03 commit 79ba4cb

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/main/kotlin/com/coder/toolbox/CoderToolboxContext.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
package com.coder.toolbox
22

3+
import com.coder.toolbox.oauth.CoderAccount
4+
import com.coder.toolbox.oauth.CoderOAuthCfg
5+
import com.coder.toolbox.oauth.CoderOAuthManager
36
import com.coder.toolbox.store.CoderSecretsStore
47
import com.coder.toolbox.store.CoderSettingsStore
58
import com.coder.toolbox.util.toURL
9+
import com.jetbrains.toolbox.api.core.ServiceLocator
10+
import com.jetbrains.toolbox.api.core.auth.PluginAuthManager
611
import com.jetbrains.toolbox.api.core.diagnostics.Logger
712
import com.jetbrains.toolbox.api.core.os.LocalDesktopManager
813
import com.jetbrains.toolbox.api.localization.LocalizableStringFactory
@@ -18,6 +23,7 @@ import java.util.UUID
1823

1924
@Suppress("UnstableApiUsage")
2025
data class CoderToolboxContext(
26+
private val serviceLocator: ServiceLocator,
2127
val ui: ToolboxUi,
2228
val envPageManager: EnvironmentUiPageManager,
2329
val envStateColorPalette: EnvironmentStateColorPalette,
@@ -47,6 +53,14 @@ data class CoderToolboxContext(
4753
?: settingsStore.defaultURL.toURL()
4854
}
4955

56+
fun getAuthManager(
57+
cfg: CoderOAuthCfg
58+
): PluginAuthManager<CoderAccount, CoderOAuthCfg> = serviceLocator.getAuthManager(
59+
accountClass = CoderAccount::class.java,
60+
displayName = "Coder Authentication",
61+
pluginAuthInterface = CoderOAuthManager(cfg)
62+
)
63+
5064
suspend fun logAndShowError(title: String, error: String) {
5165
logger.error(error)
5266
ui.showSnackbar(

src/main/kotlin/com/coder/toolbox/CoderToolboxExtension.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class CoderToolboxExtension : RemoteDevExtension {
2929
val logger = serviceLocator.getService(Logger::class.java)
3030
return CoderRemoteProvider(
3131
CoderToolboxContext(
32+
serviceLocator,
3233
serviceLocator.getService<ToolboxUi>(),
3334
serviceLocator.getService<EnvironmentUiPageManager>(),
3435
serviceLocator.getService<EnvironmentStateColorPalette>(),

0 commit comments

Comments
 (0)