У меня есть приложение, в котором данные пользователя передаются в виде JWT, содержащего информацию о текущем пользователе и его ролях. Каждый раз, когда пользователь входит в систему (через экземпляр KeyCloak), информация из JWT анализируется на моем конце в функции, которая обновляет объект пользователя через SQLAlchemy
. Однако, поскольку в бэкэнде нет объекта пользователя, передаваемого туда и обратно, я должен анализировать JWT на наличие ролей для каждого действия, которое этого требует. У меня также есть потребность в аудите, и из-за структуры приложения этот модуль не обязательно имеет доступ к объектам запроса во время ведения журнала.
Я ищу изящный способ сделать что-то вроде flask_user
s current_user()
работает путем сопоставления JWT -> объекта пользователя ORM, чтобы иметь возможность прозрачно получить текущего пользователя. Есть ли способ сообщить об этом go? Регистрация пользователя и т. Д. Полностью отделена от приложения, и Flask
знает только, какой пользователь он основан на токенах в отправляемых запросах.
TLDR; Есть ли способ загрузить пользователя из БД на основе уже выпущенного JWT (который содержит информацию для сопоставления с пользователем), и, возможно, уже существует библиотека или расширение для flask, которое поддерживает это?