Я знаю, что подобные вопросы существуют, но я не нашел решения для меня. У меня есть встроенное веб-приложение Flutter, которое компилируется в javascript. Он был у меня на Firebase Hosting. Первый экран в приложении - это страница входа, которая использует FirebaseAuth для регистрации. При первом открытии веб-сайта - все внутренние запросы библиотеки имеют статус сбой. Когда после этого нажимаю CTRL + F5 все работает плавно. Вот сравнение того же первого внутреннего запроса. Слева - успешный, справа - сбой из-за того, что ** был заблокирован политикой CORS: Ответ на предполётный запрос не проходит проверку контроля доступа: значение заголовка «Access-Control-Allow-Credentials» в ответ «», который должен быть «истинным», если режим учетных данных запроса «включать». "
Я узнал о конфигурации заголовков для хостинга Firebase, поэтому я сделал это:
{
"hosting": {
"public": "",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"headers": [ {
"source": "**",
"headers": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
},
{
"key": "Access-Control-Allow-Methods",
"value": "DELETE, POST, GET, OPTIONS"
},
{
"key": "Access-Control-Allow-Headers",
"value": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
}
]
}]
}
}
В приложении есть простая инициализация firebase в didChangeDependencies с необходимыми данными. Затем FirebaseAuth.instance.signInWithEmailAndPassword (...) По индексу. html раздел о firebase:
<script src="https://www.gstatic.com/firebasejs/7.7.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.7.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.7.0/firebase-firestore.js"></script>
<script src="main.dart.js" type="application/javascript"></script>
Я тестировал его в Chrome много раз и всегда терпел неудачу. Только на локальном хосте работает без сбоев
Дополнительная информация: запросы по «обычному» (без очистки кэша) возвращению на страницу: запросы после CTRL + F5 на том же сайте: URL-адрес моего приложения помечен красным цветом