【发布时间】:2017-12-09 07:47:18
【问题描述】:
我遵循authorized-https-endpoint 的示例,只添加了console.log 来打印req.cookies,问题是cookie 总是空的{} 我使用客户端JS 调用设置cookie,它们确实保存但从一些原因,我无法在服务器端获取它们。
这里是 index.js 的完整代码,和示例完全一样:
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const express = require('express');
const cookieParser = require('cookie-parser')();
const cors = require('cors')({origin: true});
const app = express();
const validateFirebaseIdToken = (req, res, next) => {
console.log(req.cookies); //// <----- issue this is empty {} why??
next();
};
app.use(cors);
app.use(cookieParser);
app.use(validateFirebaseIdToken);
app.get('/hello', (req, res) => {
res.send(`Hello!!`);
});
exports.app = functions.https.onRequest(app);
存储 cookie:
curl http://FUNCTION_URL/hello --cookie "__session=bar" // req.cookies =
{__session: bar}
不存储:
curl http://FUNCTION_URL/hello --cookie "foo=bar" // req.cookies =
{}
【问题讨论】:
标签: javascript firebase cookies google-cloud-functions firebase-hosting