我在下面显示了一个简单的firebase函数。当通过JavaScript(CORS)访问该功能的前飞行选项的请求(CORS标准的一部分)将返回302重定向到以
开始的URL https://accounts.google.com/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3D
并以我功能的URL结尾。这是所讨论的整个功能:
import * as functions from 'firebase-functions';
import * as express from 'express';
import * as cors from 'cors';
const app = express();
app.use(cors({ origin: true }));
app.post('*', async (req, res) => {
res.setHeader('X-Test', 'OK');
res.setHeader('Set-Cookie', ['__session=ninja']);
res.send('OK');
});
app.get('*', async (req, res) => {
res.setHeader('X-Test', 'OK');
res.setHeader('Set-Cookie', ['__session=ninja']);
res.send('OK');
});
export const testing = functions.https.onRequest(app);
您可以看到,该函数不包含任何重定向逻辑。如果我手动导航到浏览器(accounts.google.com
One)中的重定向链接,它显示了某种Google Compute Engine安全页面,要求访问我的Google帐户。最近,当我通过JavaScript访问这些功能时,我以前工作的所有功能都开始使用此302重定向。这阻止了我所有的功能按预期工作。
我不能确定,但是我想使用Google Cloud Functions CLI(而不是Firebase Functions CLI),IT Think 它开始了。感觉就像使用gcloud
CLI发布功能可能触发了某种设置的更改?我找不到有关此问题的任何信息。
任何帮助都非常感谢!
关于我的善良,问题是我在功能名称中有一个错别字!该函数的名称是userAccount-testing
,我正在调用userAccount.testing
。显然,当您调用不存在的函数时,您会在响应中得到302重定向。
我在试图诊断此问题时复制并粘贴了不同的功能名称,并且恰好从未将.
更新为-
。脸棕榈