【发布时间】:2020-01-28 19:49:38
【问题描述】:
我正在使用 Eve 0.7、Eve-Sqlalchemy 0.7.1 以及在我的域上实现和设置的 TokenBasedAuth 类。它适用于通过 Authorization 标头发送令牌的请求。
按本地设计工作的示例:
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"
}
}
有没有办法在 Eve 0.7 中处理基于 Cookie 的身份验证?
到目前为止,我已经尝试向on_pre_GET 事件钩子添加一些日志语句,以尝试在发生的情况下达到峰值,但钩子永远不会触发。我假设内部可能发生了一些事情来返回 401,因为没有 auth 标头(我还没有查看源代码,所以只是猜测)。
我还在我的设置中设置了X_ALLOW_CREDENTIALS = True,但我认为这不是解决问题的方法(如果我错了,请告诉我!)。
感谢您的阅读以及您能提供的任何帮助!
更新
我通读了 eve/auth.py (https://github.com/pyeve/eve/blob/52a927fe69ff05d3098d62145efe1fbfaddb5cf9/eve/auth.py),我相信我可以覆盖授权 (https://github.com/pyeve/eve/blob/52a927fe69ff05d3098d62145efe1fbfaddb5cf9/eve/auth.py#L258) 来做我需要的事情。验证后我可以再次更新。
【问题讨论】:
标签: authentication cookies eve