Я использую Eve 0.7, Eve-Sqlalchemy 0.7.1 и класс TokenBasedAuth, реализованный и установленный на моих доменах. Он работает как дизайн для запросов, которые отправляют токен через заголовок авторизации.
Пример, который работает так, как разработан локально:
curl -sk -X GET -H "Authorization:Bearer $MY_JWT" localhost:5000/my_domain
У меня есть вариант использования, когда клиент хотел бы отправить заголовок Cookie с токеном аутентификации внутри него. Однако, когда я пытаюсь выполнить такой запрос
curl -sk -X GET -H "Cookie: $MY_COOKIE" localhost:5000/my_domain
я получаю ответ от
{
"_status": "ERR",
"_error": {
"code": 401,
"message": "Please provide proper credentials"
}
}
Есть ли способ обрабатывать аутентификацию на основе файлов cookie в Eve 0.7?
До сих пор я пытался добавить некоторые операторы ведения журнала в обработчик событий on_pre_GET
, чтобы попытаться понять, что происходит, но обработчик никогда не срабатывает. Я предполагаю, что что-то может происходить внутри, чтобы вернуть 401, поскольку заголовка аутентификации нет (я еще не просматривал исходный код, поэтому просто догадываюсь).
Я также установил X_ALLOW_CREDENTIALS = True
в своих настройках, но я не думаю, что это правильный путь (если я ошибаюсь, просто дайте мне знать!).
Спасибо за чтение и любую помощь, которую вы можете предоставить!
Обновлять
Я прочитал eve/auth.py (https://github.com/pyeve/eve/blob/52a927fe69ff05d3098d62145efe1fbfaddb5cf9/eve/auth.py), и я считаю, что могу переопределить авторизованный (https://github.com/pyeve/eve/blob/52a927fe69ff05d3098d62145efe1fbfaddb5cf9/edauth.py#L258), чтобы делать то, что мне нужно. Как только я проверю, я могу обновить снова.