我正在使用Faraday在我正在开发的两个 Web 应用程序(背景和相关问题)之间进行通信。我使用 OAuth 令牌作为从客户端应用程序到服务器应用程序的上传/连接的一部分。
但是,我似乎无法在标头或 action_dispatch 哈希等中找到 OAuth 令牌。
有什么建议么?
我在这里找到了答案:https ://github.com/technoweenie/faraday/issues#issue/12
您好,我遇到了同样的问题,发现这是因为我在中间件之前使用了 Faraday.default_adapter(在 Faraday::Connection 构造函数块中)。 也许这会有所帮助,因为我看到问题仍然存在。 来自: @connection ||= Faraday::Connection.new(:url => "http://...") 做 |builder| builder.adapter Faraday.default_adapter builder.use CookieAuth 结尾 到 @connection ||= Faraday::Connection.new(:url => "http://...") 做 |builder| builder.use CookieAuth builder.adapter Faraday.default_adapter 结尾 为我解决了这个问题。 发生的情况是,当调用 Connection 的任何 http 方法(回退到 Faraday::Connection#run_request)时,default_adapter 实际上会在中间件之前执行请求(如在 Faraday::Adapter::NetHttp#call:45 中)等等修改后的标头不会发送到服务器。 然而测试用例通过了,因为中间件被调用(在请求之后)并更新了环境中的 request_headers。 总结一下,只要确保在实际执行请求的任何适配器之前配置任何“请求修饰符”中间件。