Получить 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 за данными о пользователе и лицензии
Есть ещё какие-нибудь варианты?
Мы разрабатываем довольно сложную систему которая будет состоять из частей:
— авторизация и магазин на 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 за данными о пользователе и лицензии
Есть ещё какие-нибудь варианты?
Комментарии: 1
В Python никак, только через PHP.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.