firebase / firebase/firebase-functions
res.cookie option with sameSite 'none' throws TypeError: option sameSite is invalid at Object.serialize
- Langage dominant
- TypeScript
- Étoiles
- 1.1k
- Forks
- 232
- Merge moyen
- 20 h 46 min
- PR mergées (30 j)
- 15
Description
### Related issues
I found the issue for Express framework
https://github.com/expressjs/express/issues/3958
and looks it was fixed there.
### [REQUIRED] Version info
node: v10.16.3
**firebase-tools:**
8.0.0.
### [REQUIRED] Test case
export const sameSiteCookie = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const expiresIn = 60 * 60 * 24 * 5 * 1000;
const options: any = {
maxAge: expiresIn,
httpOnly: true,
secure: true,
sameSite: 'none',
};
res.cookie('testCKI', 'value123', options);
res.end(JSON.stringify({
data: {
status: 'success'
}
}));
});
});
### [REQUIRED] Steps to reproduce
calling the cloud function above
### [REQUIRED] Expected behavior
set cookie value to SameSite=Never
### [REQUIRED] Actual behavior
TypeError: option sameSite is invalid at Object.serialize (/worker/node_modules/cookie/index.js:174:15) at ServerResponse.res.cookie (/worker/node_modules/express/lib/response.js:853:36) at cors (/srv/lib/index.js:106:13) at cors (/srv/node_modules/cors/lib/index.js:188:7) at /srv/node_modules/cors/lib/index.js:224:17 at originCallback (/srv/node_modules/cors/lib/index.js:214:15) at /srv/node_modules/cors/lib/index.js:219:13 at optionsCallback (/srv/node_modules/cors/lib/index.js:199:9) at corsMiddleware (/srv/node_modules/cors/lib/index.js:204:7) at exports.sessionLogin.functions.https.onRequest (/srv/lib/index.js:98:5)
### Were you able to successfully deploy your functions?
no error messages seen
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par le cas de test TypeScript fourni et la stack trace à node_modules/cookie/index.js:174 et express/lib/response.js:853 ; comparez le comportement de la dépendance avec l’issue Express associée #3958. Reproduisez le problème avec firebase-tools 8.0.0 et confirmez que res.cookie accepte sameSite: 'none' et émet le cookie attendu sans le TypeError.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- express, firebase, node.js, typescript
- Domaine
- api, backend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100