Зависит ли cookie от браузера? - PullRequest
0 голосов
/ 07 июля 2019

Я немного сбит с толку насчет файлов cookie и хочу знать, можем ли мы использовать файлы cookie где-либо, кроме браузера, например, в мобильном приложении или настольном приложении.Зависит ли cookie от браузера?

Ответы [ 3 ]

1 голос
/ 08 июля 2019

Аутентификация на основе сеанса

При аутентификации на основе сеанса сервер создает сеанс для пользователя после входа пользователя. Идентификатор сеанса затем сохраняется в файле cookie вбраузер пользователя.Пока пользователь остается в системе, cookie будет отправляться вместе с каждым последующим запросом.Затем сервер может сравнить идентификатор сеанса, сохраненный в файле cookie, с информацией сеанса, хранящейся в памяти, для проверки личности пользователя и отправить ответ с соответствующим состоянием!

Аутентификация на основе токена

Многие веб-приложения используют JSON Web Token (JWT) вместо сеансов для аутентификации.В приложении на основе токенов сервер создает JWT с секретом и отправляет JWT клиенту.Клиент хранит JWT (обычно в локальном хранилище) и включает JWT в заголовок при каждом запросе.Затем сервер будет проверять JWT при каждом запросе от клиента и отправлять ответ.

Самое большое отличие в этом состоит в том, что состояние пользователя не сохраняется на сервере, так как состояние сохраняетсявместо этого внутри токена на стороне клиента.Большинство современных веб-приложений используют JWT для аутентификации по причинам, включая масштабируемость и аутентификацию мобильных устройств.

Масштабируемость

Аутентификация на основе сеанса: Посколькусеансы хранятся в памяти сервера, масштабирование становится проблемой, когда огромное количество пользователей одновременно используют систему.

Аутентификация на основе токена: Нет проблем с масштабированием, потому что токенхранится на стороне клиента.

Несколько устройств

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

Аутентификация на основе токенов: нет проблем с cookie, поскольку JWT включен в заголовок запроса.

Аутентификация на основе токенов: с использованием JWT является более рекомендуемым методом в современных веб-приложениях.Одним из недостатков JWT является то, что размер JWT намного больше по сравнению с идентификатором сеанса, хранящимся в cookie, потому что JWT содержит больше информации о пользователе.Необходимо позаботиться о том, чтобы в JWT была включена только необходимая информация, а конфиденциальная информация должна быть исключена для предотвращения атак безопасности XSS.

1 голос
/ 07 июля 2019

Любой HTTP-клиент может использовать куки. Cookie - это просто HTTP-заголовок, отправляемый сервером, со значением, которое клиент отправляет обратно на сервер в последующих запросах. Обратитесь к документации вашего HTTP-клиента, чтобы узнать, есть ли встроенная поддержка для запоминания файлов cookie.

0 голосов
/ 08 июля 2019

Нет, cookie не зависит от браузера.

Файл cookie зависит от HTTP «Пользователь-агент» - клиент программного обеспечения / библиотеки, который действует от имени пользователя, следуя протоколу HTTP. Браузер - это всего лишь один из его типов. Другие типы «User-Agent» включают в себя:

  • Программное обеспечение CLI, которое может отправлять HTTP-запросы, например curl или wget .
  • Библиотека, которую можно импортировать в проект и отправлять HTTP-запрос. Взять, к примеру, проект Node.js, это может быть request или axios . Все основные языки программирования имеют свои собственные клиентские библиотеки HTTP.
  • Самореализующийся клиентский логический код HTTP.
  • подробнее ...

В мобильном приложении или настольном приложении, если для приложения используется HTTP, весьма вероятно, что cookie используется.

...