Je suis en train de configurer les paramètres CORS pour mon serveur rails - je veux pouvoir tester mon backend lorsque je l'exécute localement, en utilisant un frontend sur localhost.
Mais, d'après ce que j'ai compris, CORS est un mécanisme de sécurité important contre CSRF( ?), donc lorsque l'application est mise en production, je veux que le backend n'autorise que l'origine du site web en ligne. Comme ça :
if development:
allow do
origins 'localhost:3000', 'localhost:3001', 'https://my-app.com'
resource '*',
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
if production:
allow do
origins 'https://my-app.com'
resource '*',
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
Je comprends que c'est un peu exagéré d'avoir un utilisateur inconnu qui exécute une application hostile sur localhost sans savoir ce qu'il fait, mais je dirais qu'il vaut mieux prévenir que guérir.
Comment procéder ? Et pourquoi cela n'est-il pas documenté de manière proéminente sur la page Github de Rack::CORS ? J'ai l'impression qu'il y a quelque chose qui m'échappe. Merci de m'éclairer.