Роман Усенко: Можно и логин с паролем увести =)
Готового решения не могу предоставить, т.к. слишком обширный код реализации.
Использую Symfony3 + https://github.com/lcobucci/jwt
Роман Усенко: Спасибо помечается ответом =)
В токене генерируете права доступа, данные пользователя и др. нужную вам информацию.
Далее всем этим пользуетесь.
hwnd32: Ну если любой, то не задавали бы вопросов.
Т.е. вы знаете как реализовать шардинг, oauth, jwt, не использовать сессии, только для связи с др. проектами, control panel, логгировние всего и вся, графы и еще много чего.
Ну ок.
Про код я конечно молчу, DDD мало кто умеет готовить.
Nikola24: Я о сессии вообще не говорил =) Пользуюсь jwt и реализация SPA приложений.
Данные можно подменить ДО выбора чего либо.
Так же их можно спокойно перехватить до отправки ajax запроса на сервер.
Фронт - это все что в чужих руках и вы это не можете полностью контролировать.
Между страниц, вы можете передавать данные как вам удобно.
Но как только заказ идет на бекенд (что бы в БД записать или прочитать), вы должны сделать все действия которые я описал.
Я не знаю как устроена у вас логика.
Но приведу простой пример.
У нас есть 2 товара:
1) Штаны - 500р.
2) Трусы - 200р.
Допустим мы отправили из в корзину.
Суммарно товар стоит 700р.
Если кто то поменял на фронте сумму на 100р., то нам все равно.
Ведь при оформлении заказа, все данные должны провериться на бекенде. Или при любом другом расчете.
Предположим мы нажали - оформить заказ.
На бек отправляется запрос:
арт. ххххх1; price: 300; и еще какие то параметры
арт. ххххх2; price: 10
currency: rub
count: 2
...
По этим артикулам, вы проверяете цену, наличие и все что требуется.
Вы видите на беке, что товар стоит стоит совершенно по другому, чем к нам пришла сумма.
Соответственно вы считаете реальные данные а не фиктивные, предупреждаете об этом пользователя.
Готового решения не могу предоставить, т.к. слишком обширный код реализации.
Использую Symfony3 + https://github.com/lcobucci/jwt