firebase / firebase/firebase-functions

res.cookie option with sameSite 'none' throws TypeError: option sameSite is invalid at Object.serialize

Open
#653 7 comments 1 reaction 0 assignees View on GitHub
api: http
Dominant language
TypeScript
Stars
1.1k
Forks
232
Avg merge
20h 46m
Merged PRs (30d)
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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.