В моем приложении реагирования я отправляю почтовый запрос с 2 атрибутами на имя облачной функции и телефон, но возвращает ограничение от CORS в приложении реагирования, я использую облачные функции с Typescript. Это мой код из моего приложения реагирования.
axios
.post(
"https://us-central1-react-firebase-athentica-64987.cloudfunctions.net/firestoreTtlCallback",
{
name: `${this.state.contactName}`,
phone: `${this.state.phone}`,
}
)
.then(function(response) {
// eslint-disable-next-line no-console
console.log(response);
})
.catch(function(error) {
// eslint-disable-next-line no-console
console.log(error);
});
}); ```
И это из моей облачной функции:
exports.firestoreTtlCallback = functions.https.onRequest(async(req , res) => {
res.set('Access-Control-Allow-Origin', "*")
res.set('Access-Control-Allow-Methods', 'GET, POST')
res.set('Access-Control-Allow-Headers', 'Content-Type');
const name = req.body.name;
console.log(name)
//recibir nombre de contacto y numero de telefono
const payload = req.body as ExpirationTaskPayload
try {
// buscar usuario y obtener token
const user = await db.collection('users').doc(payload.uid).get()
const data:any = user.data()
const counter = await admin.firestore().collection("users").doc(payload.uid).collection("kards").doc("0").collection("kardsRef").get();
const doc = await admin.firestore().doc(`/users/${payload.uid}/kards/0/kardsRef/${counter.size}`)
doc.set({ msg: "hola" })
var message = {
data: {
score: '850',
time: '2:45'
},
token: data.token
};
//enviar notificacion
await admin.messaging().send(message)
// Response is a message ID string.
// borrar notificacion firestore
await admin.firestore().doc(payload.docPath).delete()
return res.status(200).send(`Task has been executed`);
}
catch (error) {
console.error(error)
return res.status(500).send(error)
}
});
Это ошибка, которую я получаю:
Доступ к выборке в ' https://us-central1-react-firebase-athentica-64987.cloudfunctions.net/firestoreTtlCallback 'from origin' http://localhost: 3000 'было заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: он не имеет статуса HTTP ok.