Skip to content

Commit a0ce782

Browse files
committed
Use a more secure cookie jar
1 parent 83211af commit a0ce782

File tree

2 files changed

+4
-21
lines changed

2 files changed

+4
-21
lines changed

build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ dependencies {
2424
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.3"))
2525
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
2626
implementation("com.squareup.okhttp3:okhttp")
27+
implementation("com.squareup.okhttp3:okhttp-urlconnection")
2728
implementation("com.squareup.okhttp3:logging-interceptor")
2829

2930
implementation(files("lib/webrtc-java-0.6.0.jar"))

src/main/kotlin/com/coder/gateway/sdk/CoderRestClientService.kt

+3-21
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,12 @@ import com.intellij.openapi.components.Service
1313
import com.jetbrains.gateway.sdk.convertors.InstantConverter
1414
import com.jetbrains.gateway.sdk.convertors.RTCIceServerAdapter
1515
import dev.onvoid.webrtc.RTCIceServer
16-
import okhttp3.Cookie
17-
import okhttp3.CookieJar
18-
import okhttp3.HttpUrl
16+
import okhttp3.JavaNetCookieJar
1917
import okhttp3.OkHttpClient
2018
import okhttp3.logging.HttpLoggingInterceptor
2119
import retrofit2.Retrofit
2220
import retrofit2.converter.gson.GsonConverterFactory
21+
import java.net.CookieManager
2322
import java.time.Instant
2423

2524
@Service(Service.Level.APP)
@@ -42,13 +41,12 @@ class CoderRestClientService {
4241

4342
val interceptor = HttpLoggingInterceptor()
4443
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY)
45-
4644
retroRestClient = Retrofit.Builder()
4745
.baseUrl("${uriScheme.scheme}://$hostPath:$port")
4846
.client(
4947
OkHttpClient.Builder()
5048
.addInterceptor(interceptor)
51-
.cookieJar(CoderCookieJar())
49+
.cookieJar(JavaNetCookieJar(CookieManager()))
5250
.build()
5351
)
5452
.addConverterFactory(GsonConverterFactory.create(gson))
@@ -88,20 +86,4 @@ class CoderRestClientService {
8886
return sshKeysResponse.body()!!
8987
}
9088

91-
private class CoderCookieJar : CookieJar {
92-
private lateinit var coderCookies: List<Cookie>
93-
override fun loadForRequest(url: HttpUrl): List<Cookie> {
94-
if (!url.encodedPath.endsWith("user/login")) {
95-
return coderCookies
96-
}
97-
return emptyList()
98-
}
99-
100-
override fun saveFromResponse(url: HttpUrl, cookies: List<Cookie>) {
101-
if (url.encodedPath.endsWith("user/login")) {
102-
coderCookies = ArrayList(cookies)
103-
}
104-
}
105-
106-
}
10789
}

0 commit comments

Comments
 (0)