CORS
Когда мы выпускаем наш сервер в свет, для тестов или в боевом режиме, нам нужно настроить параметры доступа: с каких url могут идти запросы, какие методы и какие заголовки они могут содержать. Это своего рода правила, которые должны соответствовать при общении фронта и бэка. Установим пакет:
NPM:
npm i -s fastify-cors
YARN:
yarn add fastify-cors
Зарегистрируем в плагинах fastify:
fastify.register(require('fastify-cors'), {
origin: "*",
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization']
})
Всего 3 параметра: origin – это все url, которые смогут получить доступ к нашему backend'у. Может содержать как url, так и знак "*". Также можно перечислить несколько url. "*" – любые url; "www.example.ru" – доступ только с www.example.ru; ["www.example.ru", "www.testing.ru"] – доступ с www.example.ru и www.testing.ru. methods – содержит в себе массив строк с методами. Нужно указать те методы, которыми вы пользуетесь на сервере + "OPTIONS". allowedHeaders – содержит массив параметров, которые у вас будут в запросах из фронта. Там, где мы делали проверку подписи параметров запуска, мы передавали эти параметры в заголовке Authorization, поэтому мы включили его в список. Всё, больше проблем с доступом к серверу извне быть не должно.
Last updated
Was this helpful?