Токен против Cookie для SPA - PullRequest
0 голосов
/ 27 мая 2018

Я использую devise_token_auth для приложения rails с react на внешнем интерфейсе и rails в качестве внутреннего интерфейса, действующего в качестве внутреннего.

В файле readme автор утверждает, что

Если вы создаете SPA или мобильное приложение и вам нужна аутентификация, вам нужны токены, а не куки-файлы.

Почему?Я понимаю основные различия между токенами и файлами cookie, но не понимаю, почему нельзя просто использовать файлы cookie (просто включая заголовки с любыми запросами XHR)?

1 Ответ

0 голосов
/ 27 мая 2018

Есть несколько основных причин.

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

Файлы cookie также привязаны к домену.Большинство SPA используют несколько сервисов в нескольких доменах, что не позволяет использовать аутентификацию на основе файлов cookie.Это также относится к SPA, которые имеют веб-приложение и мобильное приложение, используя аутентификацию на основе токенов, что значительно упрощает масштабирование.

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

...