В идеале, как логин работает в CKAN согласно who.ini
конфигурация и код а> это:
[plugin:friendlyform]
use = ckan.lib.repoze_plugins.friendly_form:FriendlyFormPlugin
login_form_url= /user/login
login_handler_path = /login_generic
Здесь login_handler_path
отвечает за вход в систему, а на стороне интерфейса CKAN он отправляет POST-запрос к конечной точке /login_generic
с name
в качестве имени пользователя и password
.
Прямо сейчас я пытаюсь создать один плагин, в котором я пытаюсь войти в систему через сам плагин (с некоторой функцией), не заставляя пользователя входить в систему через какую-либо форму во внешнем интерфейсе.
Итак, есть ли какая-либо вспомогательная функция/функция действия, которую я могу использовать, чтобы я мог войти в систему за кулисами в самом плагине CKAN.
Насколько я понимаю, CKAN использует некоторые repoze cookie / API Headers, чтобы определить, вошел ли пользователь в систему или нет. Если я использую обычные POST-запросы в коде Python, я не смогу установить эти файлы cookie или переменные среды, и если я попытаюсь сделать это вручную, я боюсь, что это что-то сломает.
Любая помощь высоко ценится