Я разрабатываю набор api для моего сайта Rails. Я уже пишу api, и они работают на локальном, я тестирую их с RSpec и с OSX-приложением «Rested».Rails Api для мобильных приложений: как исправить CORS только для api?
Теперь я должен обрабатывать «CORS»: все мои api на данный момент являются только «GET» api, никаких сообщений или патчей.
Мне нужно получить доступ к моему api из приложений и из другого домена, которым приходится обрабатывать фид контента.
Я не очень хорошо знаком с CORS, я читал, что лучший вариант - использовать «Rack Cors Gem».
Rack-CORS документы предлагают поместить это в application.rb
module YourApp
class Application < Rails::Application
# ...
config.middleware.insert_before 0, "Rack::Cors" do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :options]
end
end
end
end
Я боюсь о безопасности: Я читал что-то, но я не могу понять, почему это опасно использовать «*»
В мой случай api находится под www.example.com/api/v1
Могу ли я изменить конфигурацию стойки-корса, просто добавьте корс в мой api таким образом?
module YourApp
class Application < Rails::Application
# ...
config.middleware.insert_before 0, "Rack::Cors" do
allow do
origins '*'
resource '\api\v1', :headers => :any, :methods => [:get, :options]
end
end
end
end
GooD знать. Поэтому я могу изменить заголовок только для контроллера api. Я прочитаю ссылку, которую вы предоставляете. Спасибо. –