vio
07/18/2021, 1:37 PMsessions to allow authentication with cookies, but I'm not sure how to configure the apollo client to allow cookies. Any suggestions are helpful, thank you! 🙏🏻
My code looks like this:
val url = "....
val okHttp = OkHttpClient
.Builder()
.build()
val apolloClient = ApolloClient
.builder()
.serverUrl(url)
.okHttpClient(okHttp)
.build()vio
07/18/2021, 1:39 PMcookieJar but can't seem to find the right libraries for kotlin
something like this, (this code is not compiling):
val cookieManager = CookieManager()
CookieHandler.setDefault(cookieManager)
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL)
val okHttp = OkHttpClient
.Builder()
.cookieJar(JavaNetCookieJar(cookieManager)) // this has syntax errors
.build()mbonnin
07/18/2021, 2:26 PMmbonnin
07/18/2021, 2:28 PMnew CookieJar() {
private final HashMap<HttpUrl, List<Cookie>> cookieStore = new HashMap<>();
@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
cookieStore.put(url, cookies);
}
@Override
public List<Cookie> loadForRequest(HttpUrl url) {
List<Cookie> cookies = cookieStore.get(url);
return cookies != null ? cookies : new ArrayList<Cookie>();
}
}vio
07/18/2021, 2:42 PMval jar = object : CookieJar {
private val cookieStore = HashMap<HttpUrl, List<Cookie>>()
override fun saveFromResponse(url: HttpUrl, cookies: List<Cookie>) {
cookieStore[url] = cookies
}
override fun loadForRequest(url: HttpUrl): List<Cookie> {
val cookies = cookieStore[url]
return cookies ?: ArrayList()
}
}
val okHttp = OkHttpClient
.Builder()
.cookieJar(jar)
.build()
val apolloClient = ApolloClient
.builder()
.serverUrl(url)
.okHttpClient(okHttp)
.build()mbonnin
07/18/2021, 4:55 PMmbonnin
07/18/2021, 4:55 PMvio
07/20/2021, 6:54 AMmbonnin
07/20/2021, 12:10 PMmbonnin
07/20/2021, 12:10 PMsaveFromResponsembonnin
07/20/2021, 12:11 PMvio
07/28/2021, 4:14 PMmbonnin
07/28/2021, 4:15 PM