2017-02-28 14 views
0

我用下面的代碼來設置Cookie後Android。 OkHttp Cookie不會保存重新推出應用

PersistentCookieJar cookieJar = new PersistentCookieJar(
       new SetCookieCache(), new SharedPrefsCookiePersistor(context)); 
     clientBuilder.cookieJar(cookieJar); 
     Retrofit retrofit = builder.client(
       clientBuilder.build()).build(); 

這是我從服務器接收到的報頭:

Set-Cookie: wordpress_logged_in_6041590398a33ab947560d559f09d479=capad%7C1488467742%7CSttfNHrOkwd67CteCGepJyv3bNU2SeSW0URepOPxCe5%7C5091b3bbcc334e520cec85c4c9b8e26a07a962d3c00c8c709b87f90018370f60; path=/; secure; httponly 
+0

餅乾看起來像什麼? –

+0

剛剛發佈了標題 –

回答

1

您的Cookie(Set-Cookie: wordpress_logged_in_[etc]; path=/; secure; httponly)沒有到期組。

這使得它成爲一個「會話」cookie,它不應該被持久化。您的PersistentCookieJar可能遵循正確的規範,不會在沒有到期的情況下堅持任何Cookie。

您可以在收到此cookie(可能使用OkHttp攔截器)時手動添加過期時間,也可以創建持續存在所有cookie的自己版本的PersistentCookieJar(這可能不是一個好主意)。

另一種選擇是尊重發送該cookie的人希望它成爲會話cookie的事實。