Chuffey
@Chuffey
java-middle developer

Retrofit, нужно ли использовать expire/max-age?

Добрый день, есть рест сервис, для работы с ним использую Retofit, при логине в ответ выдает куку.
далее я использую эту куку для получения инфы от сервиса.
Получаю вот таким образом:
String cookie = service.atuhorize(...).execute().raw().header("Set-Cookie");

Она выглядит вот таким образом:
JSESSIONID=<тут куча букв>; path=/iapp; Max-Age=31536000; Expires=Thu, 22-Sep-2016 10:04:15 GMT

Использую эту куку вот так:
@Headers({"Content-Type: application/json"})
@GET("iapp/getCurrentUser")
Call<Profile> getCurrentUser(@Header("Set-Cookie") String cookieA);

Но сервис меня считает не авторизованным, отсюда вопросы:
1) Правильно ли я подставляю хеадер - нужен именно "Set-Cookie" ?
2) Нужно ли проставлять max-age/expire для куки, и если да, то каким образом ?

p.s. Заранее спасибо!
  • Вопрос задан
  • 602 просмотра
Решения вопроса 2
StFaustoff
@StFaustoff
jDev
Достаточно только JSESSIONID(именно та куча символов)
max-age вроде как говорит о длительности жизни печенек на стороне сервера, ну а Expires по видимому это дата создания сессии.
Ответ написан
enq3
@enq3
Android engineer at #ITX5
Если посмотреть через веб-дебагер в том же хроме на заголовки запроса и ответа, то сервер возвращает куки в Set-Cookie. А в запросе уходит через Cookie.
Следовательно:
Call<Profile> getCurrentUser(@Header("Cookie") String cookieA);

Dante Faustoff прав, срок жизни куки не нужен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы