O CORS już wspominałem w innej poradzie. Tutaj jednak przyjrzymy się rozwiązaniu dedykowanemu Symfony i pakietowi nelmio/NelmioCorsBundle.
Korzystanie z Symfony i Composer-a przyzwyczaja do wygody, instalacja pakietu jest banalna.
composer require nelmio/cors-bundle
Po instalacji odnajdujemy plik konfiguracyjny, który znajduje się w katalogu /config/packages/nelmio_cors.yaml
I zmieniamy jego zawartość na poniższą.
nelmio_cors:
defaults:
origin_regex: true
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
allow_headers: ['Content-Type', 'Authorization']
expose_headers: ['Link']
max_age: 3600
paths:
'^/': ~
I w ten oto piękny sposób mamy załatwiony „problem” z CORS w naszej aplikacji. Pamiętajcie jedynie, aby w pliku .env
mieć ustawioną zmienną CORS_ALLOW_ORIGIN
na wartość *
.
Fragment pliku .env
###> nelmio/cors-bundle ###
CORS_ALLOW_ORIGIN=*
###< nelmio/cors-bundle ###