У меня есть общая c облачная функция:
const functions = require('firebase-functions');
const cors = require('cors')({ origin: true });
exports.helloWorld = functions.https.onRequest((request, response) => {
cors(request, response, () => {
res.status(200).send("Hello from Firebase!");
});
});
И я вызываю ее из клиента, используя ax ios:
axios
.get(
"https://us-central1-dev-imcla.cloudfunctions.net/helloWorld",
)
.then((res) => {
console.log(res);
})
.catch(er=>{
console.log(er);
})
И у меня 2 проблемы :
- Я получаю ошибку CORS.
Доступ к XMLHttpRequest в 'https://myurl/helloWorld' из источника 'http://localhost: 8080' заблокирован CORS policy: В запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin. xhr. js? b50d: 178 GET https://us-central1-dev-imcla.cloudfunctions.net/helloWorld
net :: ERR_FAILED
Если я включаю плагин cors из браузера или вызываю эту функцию из почтальона, я получаю эту ошибку:
Ошибка: запрещено У вашего клиента нет разрешения на получение URL / helloWorld с этого сервера.
Ошибка: запрос завершился неудачно с кодом состояния 403 в createError (createError. js? 2d83: 16) при урегулировании (урегулирование. js? 467f: 17) в XMLHttpRequest.handleLoad (xhr. js? b50d: 61)
И дело в том, что я и аутентифицированный пользователь, и у меня есть пакет cors в облачном коде.