Ruby on Rails APIを使用してIonic(Cordova)アプリケーションを開発しています。 ログイン後に応答ヘッダーを使用してトークンを返す必要があります。私のAPIのルートを管理するためのRack-corsとGrapeでカスタムレスポンスヘッダを追加する
application.rb
config.middleware.insert_after Rails::Rack::Logger, Rack::Cors, :logger => Rails.logger do
allow do
origins '*'
resource '/api/*', :headers => :any, :methods => [:get, :post, :options, :put]
end
end
とブドウ宝石: 私はクロスオリジンリクエスト仕事をするためにrack-cors
宝石を使用しています。 しかし、私はrack-cors
を追加したので、私の応答にヘッダーを追加する方法を見つけることができません。
header('Access-Token', user.token.key)
しかし、それは動作しません:
は、私はこれを試してみました。どのような私は、これらのヘッダで終わるの操作を行います。{キャッシュ制御: "最大エージング= 0、プライベート、必要-再検証"、コンテンツタイプ: "アプリケーション/ jsonの"}
誰でもこの問題を解決できますか?
これをapplication_controller.rbに追加して、現在のprotect_from_forgeryを削除できます。 :protect_from_forgeryに::例外を追加してください:Proc.new {| c | c.request.format!= 'application/json'} protect_from_forgery with::null_session、if:Proc.new {| c | c.request.format == 'application/json'} ' – 7urkm3n
yrがローカルで作業していてrails apiを呼び出している場合は、私が知っているようにラックコードを渡すべきではありません。私はちょうどコードワーを経験していません。 – 7urkm3n
私は現地で働いています。あなたが提案したようにprotect_from_forgeryを変更しようとしましたが、よく知られている「Access-Control-Allow-Origin」エラーが発生します – Shrolox