RailsでCORSを設定

f:id:utouto97:20210704222355j:plain

CORS

CORSは、別のオリジンからのリクエストを許可するかどうかを決める仕組みです。

utouto97.hatenablog.com

RailsでCORSを設定する

RailsでCORSの設定をします。 RailsAPIサーバーを構築したときに、別のオリジンからのリソースアクセスを許可するように設定します。

RailsでCORSの設定をするには、rack-corsを利用します。

github.com

インストールはGemでできるので、Gemfileに書いて、bundle installでインストールできます。

gem 'rack-cors'

設定は、config/initializers/cors.rbファイルに書いていきます。

Rails.application.config.middleware.insert_before 0, Rack::Cors do
  allow do
    origins '*'
    resource '*', headers: :any, methods: [:get, :post, :patch, :put]
  end
end

ここで、どのオリジンからのアクセスを許可するか、どのリソースのアクセスを許可するかを設定します。
originsで、どのオリジンからのアクセスを許可するかを設定します。
上の例では、ワイルドカード*)となっているので、すべてのオリジンからのアクセスを許可します。
resourceで、どのリソースのアクセスを許可するかを設定します。
上の例では、ワイルドカード*)となっているので、すべてのリソースのアクセスを許可します。 メソッドとして、[:get, :post, :patch, :put]が設定されているので、GETメソッド、POST POSTメソッド、PATCHメソッド、PUTメソッドを許可します。

終わり