Отправка ключевого ключа в заголовке вместо HTTP-cookie - PullRequest
0 голосов
/ 05 февраля 2019

Я хотел бы знать, как лучше всего отправить сессионный ключ в моей системе.

В моей системе есть сервер API, который используется веб-браузером, интерфейсом командной строки и настольными приложениями.Он аутентифицирует пользователя, просматривая заголовок HTTP Authorization.

В настоящее время браузер сохраняет ключ сеанса в localStorage и присоединяет его в заголовке Authorization для запросов, требующих входа в систему.Однако было отмечено, что более безопасный способ хранения секретов, таких как сеансовые ключи, использует файлы cookie только для HTTP.

Проблема заключается в том, что клиент веб-браузера не сможет читать файлы cookie только для HTTP.и вставьте ключ сеанса в заголовок HTTP.

Учитывая ситуацию, я думаю о расширении сервера API для использования одного из заголовка или файла cookie Authorzation для авторизации пользователей.Это выполнимый вариант, и есть ли альтернативы?

1 Ответ

0 голосов
/ 05 февраля 2019

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

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

Учитывая ситуацию, я думаю о расширении сервера API для использования одного из заголовка авторизации или файла cookie для авторизации пользователей.Это выполнимый вариант, и есть ли альтернативы?

Да, это выполнимо, это сделает ваш вариант использования браузера более безопасным.Что касается альтернатив, я составил Руководство по веб-аутентификации , которое очень поможет вам в изучении ваших вариантов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...