Узел с сессиями или JWT для большого пользовательского базового приложения? - PullRequest
1 голос
/ 24 апреля 2019

Я создаю производственный веб-сайт и планирую привлечь большое количество пользователей с разными ролями.Моя текущая практика - развертывание в контейнерах Redis / Session с автоматическим масштабированием.Однако по мере увеличения числа пользователей будет ли разумнее и экономически выгоднее использовать JWT?Звучит неплохо, но идея о том, что он находится в локальном хранилище, кажется большой угрозой безопасности?Я просто хочу построить его правильно, чтобы потом избежать головной боли.

1 Ответ

1 голос
/ 24 апреля 2019

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

Во-вторых, подумайте, насколько велики вы хотите масштабироваться.Использование Redis для хранения сеансов, скорее всего, займет у вас много времени, прежде чем вам понадобится что-то еще.Ожидайте, что этот лимит будет значительно выше 1 тыс. Запросов / сек.В то время, скорее всего, у вас будет гораздо больше проблем, которые нужно решить в вашей архитектуре.Разделение ваших сеансов между несколькими экземплярами Redis также будет вариантом для роста.

А пока оптимизируйте использование хранилища сеансов.Не злоупотребляйте этим вне аутентификации.Чем больше вы делаете, тем более болезненным будет переход на JWT.

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

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