Хорошо, разобрался, что происходит. 2 вещи:
1 / При интерактивном / неявном входе в систему Sylius пытается получить существующую корзину (если пользователь добавил элементы в корзину до входа в систему, режим внешнего интерфейса). Для этого Sylius использует нечто, называемое cartContext, с несколькими различными контекстами. Первая попытка получить корзину на основе канала (название магазина) и покупателя (текущий вошедший в систему пользователь). Если корзина не возвращается (в моем случае), она использует другой контекст, который пытается получить корзину на основе канала (все тот же) и сеанса. И здесь он выбрал не ту корзину, и это затронуло моего нового пользователя. Так что теперь у меня есть корзина, которая изначально не моя.
2 / Я знаю, что из-за сессии получилась неправильная корзина. Но я нахожусь в режиме без гражданства, поэтому ничего не должно быть возвращено, и Силиус должен был создать новый для меня, но это не так. Сессия существует для моего нового пользователя и выглядит так же, как последний пользователь. Кажется, что Symfony запускает сеанс, если в конфигурации брандмауэра установлен режим авторизации form_login, независимо от того, что вы делаете, он запускает сеанс.
Итак, что мы имеем: Sylius получает неправильную корзину из-за контекста сеанса. Symfony действительно начинает сеанс по API входа. Но так как я использую реагировать как родной в качестве внешнего интерфейса, и он не работает в веб-представлении, сессия не должна быть одинаковой (я не передаю какой-либо файл cookie или что-то в этом роде, просто выполняю аутентификацию с помощью веб-токена json, и он отличается для моих двух различий пользователи). Даже если с аутентификацией все в порядке, мой пользователь правильно вошел в систему с исправлениями личной информации, они совместно используют один и тот же сеанс бэкэнда. И это где я не понимаю, почему. Единственная подсказка, которую я имею, я из-за реагирующего нативного режима отладки javscript симулятора, который может использовать прокси и посылать сессионный cookie. Я абсолютно не уверен в этом, но почему бы и нет :)
Итак, теперь обходной путь, и он очень уродливый / хакерский: я просто установил глобальный прослушиватель запросов, который прослушивает только запросы не html, и лишил законной силы сеанс ..
Надеюсь, это могло бы помочь кому-то еще, я потратил на это слишком много дней.