Как реализовать cookie в приложении для Android

#android #cookies

#Android #файлы cookie

Вопрос:

Я хочу создать приложение для входа в систему на Android.

Требование проекта — хранить имя пользователя и пароль в течение двух дней с использованием cookie.

Возможно ли использовать cookie-файлы? Если да, то как? Можете ли вы дать мне код?

Примечание: я не могу использовать веб-просмотр.

Комментарии:

1. Вы никогда не должны хранить пароли в файлах cookie.

2. в вашем вопросе проблема в cookie на сервере, а не в Android.

Ответ №1:

Как уже сказал один из комментаторов, вы не должны хранить пароль (даже в зашифрованном виде) в cookie. Что вы можете сохранить, так это идентификатор сеанса. Когда пользователь входит в приложение, приложение генерирует для него идентификатор сеанса, который будет оставаться действительным в течение двух дней. В каждом запросе, который вы отправляете приложению, вы добавляете идентификатор сеанса в качестве HTTP-заголовка.

Вы можете сохранить идентификатор сеанса и дату, когда он был выдан, в настройках. Когда пользователю нужно сделать новый запрос к приложению, а срок сеанса еще не истек, вы можете прочитать сохраненное значение.

Комментарии:

1. Привет, я хочу реализовать это в своем проекте. Но я в замешательстве, как это сделать? не пришлете ли вы мне какой-нибудь код для реализации этой функциональности?

Ответ №2:

Если вы не хотите интегрировать это в браузер, тогда попробуйте это.

Если вы посмотрите на протокол HTTP, вы можете увидеть, что cookie-файлы отправляются клиентом в виде обычного текста в запросе. Это означает, что ваше приложение должно доставлять их каждый раз, когда вы запрашиваете страницу. Это недопустимо для файлов cookie только для локальных файлов, но я не думаю, что они вас интересуют. Если вы хотите установить cookie-файлы на стороне сервера, вам придется адаптировать свое приложение для анализа ответа и поиска cookie-файлов. (также HTTP-протокол)

Для лучшего просмотра необработанных данных, которые вам нужно отправить или получить, вы можете отслеживать свой трафик с помощью Wireshark или аналогичного инструмента и видеть, как выглядит запрос / ответ.

В настоящее время я работаю над веб-сервисом, который мне нужно внедрить на iPhone, и это моя первая идея сделать это. Я еще не успел это реализовать (мой веб-сервис все еще не готов), так что на данный момент я мало что могу вам сказать.

Редактировать: Полезной страницей об этом может быть HTTP-страница cookie Википедии, расположенная здесь.

Комментарии:

1. Я знаю, что этот пост очень старый, но я никогда не слышал о local-only cookies раньше, можете ли вы предоставить мне больше информации? Может быть, я ищу что-то подобное

Ответ №3:

Как сказал Рено, старайтесь избегать хранения пароля в cookie. Вместо этого вы должны позволить серверу генерировать идентификатор сеанса при входе в систему и позволить этому идентификатору истечь на сервере через два дня. ТАКИМ образом, вы можете войти в систему с именем пользователя и идентификатором сеанса, которые вы сгенерировали при входе в систему один раз.

Если вы хотите, вы можете сохранить этот идентификатор сеанса в cookie.