2017-04-15 1 views
2

私はRails5を利用しています。私のルートの1つにCORSを許可します。 CORSをすべてのルートで許可する方法はありますが、1つのエンドポイントについてのみホワイトリストを作成する方法はありますか?CORSを選択したルートレールのみに有効にする方法

config.middleware.insert_before 0, Rack::Cors do 
     allow do 
     origins '*' 
     resource '*', :headers => :any, :methods => [:get, :post, :options] 
     end 
    end 

答えて

2

最初resource引数としてそれを使用する、唯一の特定のエンドポイント・パスのクロスオリジン・リクエストを許可するには:

config.middleware.insert_before 0, Rack::Cors do 
    allow do 
    origins '*' 
    resource '/endpoint/to/allow', :headers => :any, :methods => [:get, :post, :options] 
    end 
end 

のみパス/endpoint/to/allowのクロスオリジン・リクエストを許可します。

あなたが複数のパスを許可したい場合は、複数のresource宣言を指定することができます。

config.middleware.insert_before 0, Rack::Cors do 
    allow do 
    origins '*' 
    resource '/endpoint/to/allow', :headers => :any, :methods => [:get, :post, :options] 
    resource '/another/endpoint/', :headers => :any, :methods => [:get, :post, :options] 
    end 
end 

https://github.com/cyu/rack-cors#resourceは、より多くの詳細を持っています。

関連する問題