Получить user_id авторизованного на стороне

Нужен добрый совет.

Мы разрабатываем довольно сложную систему которая будет состоять из частей:
— авторизация и магазин на modx
— API на Flask/Python
— фронтенд на Angular/Typescript

Для этого нам необходимо реализовать сценарий покупки через minishop/modx:
— пользователь с главной страницы (Angular) переходит в магазин minishop2 (например, /shop)
— покупает лицензию (читай товар)
— происходит переадресация на главную страницу (Angular)

Здесь связке Angular/Flask нужно идентифицировать пользователя: user_id и license_status.



Единственный признак авторизации, выдаваемый minishop/modx – это кук phpsessionid.
Например, сохранять посчитать границу эффективности может только авторизованный пользователь с купленной лицензией.
Поэтому при нажатии на главной странице на расчёт границы эффективности, из сессии на API (Flask) уходит только кук с phpsessionid.
Как по phpsessionid в Python идентифицировать пользователя?

У нас несколько вариантов:
— сделать метод REST API в modx, который при передаче phpsessionid вернёт исчерпывающую информацию о пользователе: id, full name, список покупок
— сделать метод REST API в modx, который возвращает только необходимую информацию для того, чтобы Flask подключался в modx MySQL и SQL-запросами получал всю информацию
— сделать hook в modx, при котором после авторизации modx отправляет запрос в API/Flask с парой (phpsessionid, user_id). API/Flask при обращении от frontend находит для phpsessionid соответствующи user_id, затем идёт в MySQL за данными о пользователе и лицензии

Есть ещё какие-нибудь варианты?
Григорий
24 августа 2018, 18:28
modx.pro
754
0

Комментарии: 1

Кирилл Киселев
25 августа 2018, 08:16
0
В Python никак, только через PHP.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1