Je vais donc envoyer une requête POST comme ceci à partir du navigateur:
fetch(serverEndpoint, {
method: 'POST',
mode: 'no-cors', // this is to prevent browser from sending 'OPTIONS' method request first
redirect: 'follow',
headers: new Headers({
'Content-Type': 'text/plain',
'X-My-Custom-Header': 'value-v',
'Authorization': 'Bearer ' + token,
}),
body: companyName
})
Par le temps que la demande atteint mon back-end, il ne contient pas d' X-My-Custom-Header
ni Authorization
- tête.
Mon back-end est Google Cloud fonction de Firebase (fondamentalement juste Node.js point de terminaison) qui ressemble à ceci:
exports.createCompany = functions.https.onRequest((req, res) => {
let headers = ['Headers: ']
for (let header in req.headers) {
headers.push(`${header} : ${req.headers[header]}`)
}
console.log(headers)
...
}
Le journal de la console de Google Cloud pour Firebase fonction ne contient aucun X-My-Custom-Header
ni Authorization
- tête.
Quel est le problème?
Edit 1
Donc à l'aide d'outils de dev de Chrome a vérifié que ni X-My-Custom-Header
ni Authorization
- tête est de l'envoyer à partir du navigateur... Les questions sont maintenant: Pourquoi? Comment puis-je résoudre ce problème?
Edit 2
Plus d'informations sur mon app: C'est Réagir app. J'ai désactivé le service du travailleur. J'ai essayé de créer Request
et spécifiquement ajouter des en-têtes à l'aide de req.headers.append()
. Les en-têtes de ne pas envoyer.