ファラデーを使用して、開発中の 2 つの Web アプリ間で通信しています (背景と関連する質問)。クライアントアプリからサーバーアプリへのアップロード/接続の一部としてOAuthトークンを使用しています。
ただし、ヘッダーや action_dispatch ハッシュなどで OAuth トークンが見つからないようです。
助言がありますか?
ここで答えを見つけました: https://github.com/technoweenie/faraday/issues#issue/12
こんにちは、私は同じ問題に遭遇し、ミドルウェアの前に (Faraday::Connection コンストラクター ブロックで) Faraday.default_adapter を使用したことが原因であることがわかりました。 問題がまだ未解決であることを確認したので、これが役立つかもしれません。 から行く: @connection ||= Faraday::Connection.new(:url => "http://...") do |builder| builder.adapter ファラデー.default_adapter builder.use CookieAuth 終わり に @connection ||= Faraday::Connection.new(:url => "http://...") do |builder| builder.use CookieAuth builder.adapter ファラデー.default_adapter 終わり 私のために問題を解決しました。 Connection の http メソッドが呼び出されると (Faraday::Connection#run_request にフォールバック)、default_adapter がミドルウェアの前に (Faraday::Adapter::NetHttp#call:45 のように) 実際にリクエストを実行します。変更されたヘッダーはサーバーに送信されません。 それでも、ミドルウェアが (リクエストの後に) 呼び出され、env の request_headers を更新するため、テスト ケースはパスします。 要約すると、実際にリクエストを実行するアダプターの前に、必ず「リクエスト修飾子」ミドルウェアを構成してください。