PankovAlxndr
@PankovAlxndr
Fullstack web developer

Как правильно хранить состояние между клиентом и сервером (php + node)?

Здравствуйте

Разрабатываю магазин: бекенд на php7.4 фронт на node.js (nuxt)
на php написал апи, пока все что касается GET запросов
приложение на vue шлет запросы на url с бекендом и получает данные
все окей

сейчас стоит задача написать POST\ PUT \ DELETE методы
для бизнес-логики - это сохранение товаров в корзине, создание заказа, авторизация и регистрация

Хочу узнать как это правильно делать, накидайте ссылок на статьи или репозитории, уроки?
понимаю что нужен флаг состояния (как сессия или куки), но в случае с api этого не используется поэтому нужен какой-то токен, который добавлять к запросам всегда, но как это все организовать - пока нет общей картины в голове, читаю про OAuth2.0 и не понимаю нужен ли он мне? про JWT токены, подскажите туда хотя бы смотрю ну и подтолкните пожалуйста
Заране благодарен за любые ответы

сейчас хочу сделать корзину заказа для не авторизированного пользователя, не могу понять что мне генерировать, в какой момент и как хранить и передавать, защищать и обновлять этот самый токен?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
понимаю что нужен флаг состояния
Нет, флаги это про другое, это про булево состояние, а вам нужен ключ / токен.

но в случае с api этого не используется
Схренали? Используется, просто называется по другому, ну и метод обмена может быть разный - заголовки, параметры, тело...
не могу понять что мне генерировать,
Для не авторизированного достаточно просто какой-то рандомный хэш в качестве ключа, если вы не храните какие-то важные данные об этом пользователе, более серьезно - bearer в заголовках в принципе очень норм.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
В заголовках ставите xautthirity и гоняете запросы с этим коротким токеном
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы